【发布时间】:2017-07-12 12:56:39
【问题描述】:
我正在尝试使用 SocketIO 快速连接到服务器。当我尝试连接时,我从 .connect 事件中得到回调,但从服务器端我没有受到任何打击。我是否必须为此添加一些权限?我已经在 plist 中添加了 App Transport Security(允许任意加载为真)设置。下面是我的快速代码
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()
当我尝试连接、使用发射和尝试监听事件时,没有服务器日志。
【问题讨论】:
-
您的套接字 io 服务器是否需要任何身份验证,例如令牌?如果需要,请添加
.connectParams。您的服务器证书是否自签名,如果是,请添加.selfSigned检查 github 页面以获取更多配置选项。 -
我的服务器只需要 cookie。即使没有发送cookie并且我们尝试连接日志消息也应该打印。