我正在尝试使用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时以及当我尝试收听事件时,没有服务器日志。
答案 0 :(得分:1)
最后我能够找出问题所在。问题是名称空间。在服务器中,他们使用命名空间。因此,我不必将整个内容作为url发送,而是使用.nsp(&#34; \ namespacename&#34;)选项。然后它工作正常。