node.js - 无法在 Swift 中使用 Socket.IO 客户端从服务器读取响应
问题描述
我正在尝试从 iOS 客户端连接到我的 Socket.io 服务器(Node/Express)。这是服务器(JS)的代码:
// Server Code
io.on('connection', (socket) => {
console.log('user connected');
})
这是我的客户端代码(Swift):
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// Testing Socket.io
let manager = SocketManager(socketURL: URL(string: "http://<my ip address>:3001")!, config: [.log(true), .compress])
let socket = manager.defaultSocket
socket.on("connection") {data, ack in
print("EG socket connected")
}
socket.connect()
}
我期待 Swift 控制台打印“EG socket connected”。相反,这是我收到的:
2021-07-09 22:02:16.481690-0400 Skull-King iOS Client[62477:10032406] LOG SocketIOClient{/}: Adding handler for event: connection
2021-07-09 22:02:16.482397-0400 Skull-King iOS Client[62477:10032406] LOG SocketIOClient{/}: Handling event: statusChange with data: [connecting, 2]
2021-07-09 22:02:16.482630-0400 Skull-King iOS Client[62477:10032406] LOG SocketIOClient{/}: Joining namespace /
2021-07-09 22:02:16.482906-0400 Skull-King iOS Client[62477:10032406] LOG SocketManager: Tried connecting socket when engine isn't open. Connecting
2021-07-09 22:02:16.483073-0400 Skull-King iOS Client[62477:10032406] LOG SocketManager: Adding engine
2021-07-09 22:02:16.484655-0400 Skull-King iOS Client[62477:10032406] LOG SocketManager: Manager is being released
2021-07-09 22:02:16.484700-0400 Skull-King iOS Client[62477:10032656] LOG SocketEngine: Starting engine. Server: http://<my ip address>:3001
2021-07-09 22:02:16.484879-0400 Skull-King iOS Client[62477:10032656] LOG SocketEngine: Handshaking
2021-07-09 22:02:16.484923-0400 Skull-King iOS Client[62477:10032406] LOG SocketIOClient{/}: Client is being released
2021-07-09 22:02:16.487428-0400 Skull-King iOS Client[62477:10032656] LOG SocketEnginePolling: Doing polling GET http://192.168.1.220:3001/socket.io/?transport=polling&b64=1&EIO=4
2021-07-09 22:02:16.653389-0400 Skull-King iOS Client[62477:10032658] LOG SocketEnginePolling: Got polling response
2021-07-09 22:02:16.653593-0400 Skull-King iOS Client[62477:10032658] LOG SocketEnginePolling: Got poll message: 0{"sid":"BateC4jf7tW2ET39AAAF","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}
2021-07-09 22:02:16.654032-0400 Skull-King iOS Client[62477:10032658] LOG SocketEngine: Got message: 0{"sid":"BateC4jf7tW2ET39AAAF","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}
2021-07-09 22:02:16.656761-0400 Skull-King iOS Client[62477:10032655] LOG SocketEngine: Engine is being released
我错过了一步吗?
解决方案
推荐阅读
- php - 从 WooCommerce 消息中删除链接
- reactjs - 在 React 中设置 Medium Feed
- javascript - html5隐藏所有div并在按钮单击时显示一个
- kubernetes - Kubernetes maxPods int32 还包括其默认的 pod
- macos - 使用 Open Firmware 设置硬件默认值
- java - 两个Fragment之间的接口通信
- nlp - 用于 CRF 分类器的 StanfordNLP 训练迭代
- r - 如何使用 quantmode 向多个烛台图表添加简单的移动平均线
- asp.net - Visual Studio 2017 不会编译我的 ASP.NET Web 项目,对肯定被引用的库说“无法加载文件或程序集”
- javascript - 空复选框上的 Javascript“空”验证消息