【发布时间】:2015-11-04 14:36:45
【问题描述】:
通过尝试简单的 swift 测试应用程序,我想大致了解 socket.io 和套接字。如果我使用 telnet 打开连接/套接字以寻址 83.145.232.209 8080 并在此之后发送类似 '&okffin;tuusula1 id:RHKL00233&' 的消息服务器端开始向我推送消息。
现在我正在尝试使用 socket.IO 快速实现这一点。我尝试了以下简单测试。
@IBAction func liveTest(sender: NSButton) {
socket = SocketIOClient(socketURL: "83.145.232.209:8080", options: [.Log(true)])
socket!.onAny {print("Got event: \($0.event), with items: \($0.items)")}
socket!.emit("&okffin;tuusula1 id:RHKL00233&", "")
socket!.connect()
}
但是,我无法从服务器获取连接或任何数据。我对此有一些基本的误解还是我只是配置错误的客户端?
更新:
阅读更多关于 sockets 和 socket.io 的内容后,我可以回答我自己的问题,说我对 socket.io 有根本的误解。 Socket.io 仅适用于基于 engine.io 构建的应用程序通过 Web (http) 进行通信。
我需要和我的示例要求的是基于 tcp 的“常规”套接字,我发现 GCDAsyncSocket 非常适合这项工作。
【问题讨论】: