首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Socket.io上快速建立连接

无法在Socket.io上快速建立连接
EN

Stack Overflow用户
提问于 2018-02-18 15:12:13
回答 2查看 5.5K关注 0票数 3

我正在使用socket.io框架来实现for。我试图通过websockets进行连接,我有一个方法,它在viewDidLoad of ViewController中被调用。我已经在全球范围内声明了我的经理和socketClient,我将把下面的方法代码放在下面:

代码语言:javascript
复制
private func setupSockets() {
    manager = SocketManager(socketURL: URL(string: "http://kaboom.rksv.net")!, config: [.log(true), .compress])
    socket = SocketIOClient(manager: manager, nsp: "/watch")//manager.defaultSocket
    socket.onAny {print("Got event: \($0.event), with items: \($0.items)")}

        socket.on("data", callback: { (data, ack) in
        print(data)
    })

    socket.on("error", callback: { (data, ack) in
        print(data)
        print(ack)

    })


    socket.on("connect", callback: { (data, ack) in
        print(data)
        print(ack)


        self.socket.emit("ping", [])

    })

    socket.connect()
}

我面临的问题是,connect回调没有被调用,因此,我无法发出ping消息。以下是日志:

2018-02-18 19:02:20.589406+0530股票-cake10965:3662189 LOG SocketIOClient{/watch}:处理事件: statusChange与数据:连接 2018-02-18 19:02:20.589692+0530股票-cake10965:3662189 LOG SocketIOClient{ /watch }:加入命名空间/watch 2018-02-18 19:02:20.589850+0530股票-Cake10965:3662189日志SocketManager:当引擎未打开时尝试连接套接字。连接中 2018-02-18 19:02:20.589916+0530股票-cake10965:3662189 LOG SocketManager:加法引擎 2018-02-18 19:02:32.986354+0530股票-Cake10965:3662271日志SocketEngine:启动引擎。服务器:http://kaboom.rksv.net 2018-02-18 19:02:32.988480+0530股票-Cake10965:3662271 LOG SocketEngine:握手 2018-02-18 19:02:32.995078+0530股票-cake10965:3662271 LOG SocketEnginePolling:进行轮询获取http://kaboom.rksv.net/socket.io/?transport=polling&b64=1 2018-02-18 19:02:33.197687+0530股票-cake10965:3662406 LOG SocketEnginePolling: Got轮询响应 2018-02-18 19:02:33.200976+0530股票-cake10965:3662406日志SocketEnginePolling: Got民意测验消息: 97:0{"sid":"4Uf21Mr7_9DGjSXcAASj",“升级”:“websocket”,"pingInterval":25000,"pingTimeout":60000} 2018-02-18 19:02:33.208867+0530股票-cake10965:3662406日志SocketEngine: Got消息: 0{"sid":"4Uf21Mr7_9DGjSXcAASj",“升级”:“websocket”,"pingInterval":25000,"pingTimeout":60000} 2018-02-18 19:02:33.226824+0530股票-Cake10965:3662189 LOG SocketManager:引擎打开连接 2018-02-18 19:02:33.226894+0530股票-cake10965:3662406 LOG SocketEnginePolling:进行轮询获取9DGjSXcAASj 2018-02-18 19:02:33.227367+0530股票-cake10965:3662406 LOG SocketEngine:书面投票:拥有数据:假 2018-02-18 19:02:33.227447+0530股票-Cake10965:3662406日志SocketEnginePolling:发送投票: as类型:2 2018-02-18 19:02:33.230935+0530股票-cake10965:3662406 LOG SocketEnginePolling:已创建的POST字符串: 1:2 2018-02-18 19:02:33.231392+0530股票-Cake10965:3662406 LOG SocketEnginePolling: POSTing 2018-02-18 19:02:33.231510+0530股票-cake10965:3662406 LOG SocketEnginePolling:进行投票站9DGjSXcAASj 2018-02-18 19:02:33.280857+0530股票-cake10965:3662406 LOG SocketEnginePolling: Got轮询响应 2018-02-18 19:02:33.281066+0530股票-Cake10965:3662406 LOG SocketEnginePolling: Got投票消息: 2:40 2018-02-18 19:02:33.281933+0530股票-Cake10965:3662406 LOG SocketEngine: Got消息: 40 2018-02-18 19:02:33.282346+0530股票-cake10965:3662189日志SocketParser:解析0 2018-02-18 19:02:33.283167+0530股票-cake10965:3662189日志SocketParser:解码分组as: SocketPacket {type: 0;data:[];id:-1;占位符: 0;nsp: /} 2018-02-18 19:02:33.283195+0530股票-cake10965:3662406 LOG SocketEnginePolling:进行轮询获取9DGjSXcAASj 2018-02-18 19:02:33.330123+0530股票-cake10965:3662271 LOG SocketEngineWebSocket:发送ws:探测类型:2 2018-02-18 19:02:33.340044+0530股票-cake10965:3662407 LOG SocketEnginePolling: Got轮询响应 2018-02-18 19:02:33.340351+0530股票-Cake10965:3662407 LOG SocketEnginePolling: Got投票消息: 1:3 2018-02-18 19:02:33.340621+0530股票-Cake10965:3662407 LOG SocketEngine: Got消息:3 2018-02-18 19:02:33.341829+0530股票-cake10965:3662407 LOG SocketEnginePolling:进行轮询获取9DGjSXcAASj 2018-02-18 19:02:33.378473+0530股票-cake10965:3662407 LOG SocketEngine: Got消息:3探测 2018-02-18 19:02:33.379059+0530股票-cake10965:3662407 LOG SocketEngine:接收探测响应,应该升级到WebSockets 2018-02-18 19:02:33.379252+0530库存-cake10965:3662407 LOG SocketEngine:升级到WebSockets 2018-02-18 19:02:33.379368+0530股票-Cake10965:3662407日志SocketEnginePolling:发送投票: as类型:6 2018-02-18 19:02:33.379511+0530股票-cake10965:3662407 LOG SocketEnginePolling:已创建的POST字符串: 1:6 2018-02-18 19:02:33.379968+0530股票-Cake10965:3662407 LOG SocketEnginePolling: POSTing 2018-02-18 19:02:33.477785+0530股票-cake10965:3662407 LOG SocketEnginePolling: Got轮询响应 2018-02-18 19:02:33.478016+0530股票-Cake10965:3662407 LOG SocketEnginePolling: Got投票消息: 1:6 2018-02-18 19:02:33.478639+0530股票-cake10965:3662407 LOG SocketEngine: Got消息:6 2018-02-18 19:02:33.479275+0530股票-cake10965:3662407 LOG SocketEngine:切换到WebSockets 2018-02-18 19:02:33.479594+0530股票-cake10965:3662407 LOG SocketEngineWebSocket:发送ws: as类型:5 2018-02-18 19:02:33.480317+0530股票-cake10965:3662407 LOG SocketEngine:法拉盛探针等待 2018-02-18 19:02:59.288327+0530股票-cake10965:3662407日志SocketEngine:写ws: Writing : false 2018-02-18 19:02:59.288576+0530股票-cake10965:3662407 LOG SocketEngineWebSocket:发送ws: as类型:2 2018-02-18 19:02:59.338827+0530股票-Cake10965:3662407 LOG SocketEngine: Got消息:3 2018-02-18 19:03:26.788673+0530股票-cake10965:3662679日志SocketEngine:写ws: Writing : false

我遗漏了什么吗?做错什么了吗?提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-02-18 15:22:32

声明应该如下所示,您忘记设置端口

代码语言:javascript
复制
   let manager = SocketManager(socketURL: URL(string: "http://localhost:8080")!, config: [.log(true), .compress])
   let socket = manager.defaultSocket
票数 1
EN

Stack Overflow用户

发布于 2019-02-23 15:31:12

使用命名空间,如下所示:

代码语言:javascript
复制
let socket = socketManager.socket(forNamespace: "/watch")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48853164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档