(SocketIO.Swift).connect回调被调用但未连接到服务器

时间:2017-07-12 12:56:40

标签: ios swift socket.io

我正在尝试使用SocketIO for swift连接到服务器。当我尝试连接时,我从.connect事件获得回调,但是从服务器端我没有受到任何打击。我是否必须为此添加一些权限?我已经在plist中添加了App Transport Security(允许任意加载为true)设置。下面是我的快速代码

            let config = URLSessionConfiguration.default
            let cookies = config.httpCookieStorage?.cookies

            print(cookies)

            self.socket = SocketIOClient.init(socketURL: URL.init(string: <server url>)!, config: [.log(true),.cookies(cookies!)])


            self.socket?.on(clientEvent: .connect, callback: {

                data,ack in

                print(data,ack)
                self.socket?.emit("adduser", <sessionData>)
                print("status: \(self.socket?.status.rawValue)" )
            })

            self.socket?.on(clientEvent: .error, callback: {

                data,ack in

                print(data,ack)

            })

            self.socket?.on("livelocation", callback: {

                data,ack in

                print(data,ack)
            })

            self.socket?.connect()

当我尝试连接时,使用emit时以及当我尝试收听事件时,没有服务器日志。

1 个答案:

答案 0 :(得分:1)

最后我能够找出问题所在。问题是名称空间。在服务器中,他们使用命名空间。因此,我不必将整个内容作为url发送,而是使用.nsp(&#34; \ namespacename&#34;)选项。然后它工作正常。