gpt4 book ai didi

ios - 将 sails.io 与 iOS swift 应用程序连接

转载 作者:可可西里 更新时间:2023-11-01 00:52:27 41 4
gpt4 key购买 nike

我正在尝试将一个简单的 iOS 应用程序连接到 sails.js API。 iOS 应用程序是用 swift 编写的。 sails的版本是0.11

对于网络套接字管理,我使用 https://github.com/socketio/socket.io-client-swift

class Communicate: UIViewController {

let socket = SocketIOClient(socketURL: "localhost:2000")

override func viewDidLoad() {
super.viewDidLoad()
self.addHandlers()
self.socket.connect()
}

func addHandlers() {

socket.on("connect") {data, ack in
print("socket connected !") // This is working

self.socket.emit("get", ["url": "/device"]) // I get the sails error
}

}
}

在 sails.js 控制台上,我收到以下错误:

verbose: Receiving incoming message from Socket.io:  { url: '/device?__sails_io_sdk_version=0.11.0&__sails_io_sdk_platform=iOS&__sails_io_sdk_language=fr' }

error: Error (SAILS:HOOK:SOCKETS:PARSE_VIRTUAL_REQ):: Failed to parse incoming socket.io request.

details: 'Sails v0.11.x is not compatible with the socket.io/sails.io.js client SDK version you are using (0.9.0). Please see the v0.11 migration guide on http://sailsjs.org for more information.' }

我模仿sails.io的行为可能做错了什么,但我不知道如何实现。

预先感谢您的帮助。

最佳答案

无需更改服务器,您可以连接参数以告诉服务器您遵守 v0.11.0 语义:

self.socket = SocketIOClient(socketURL: baseWebSocketServerURL, options: 
[SocketIOClientOption.ConnectParams(["__sails_io_sdk_version":"0.11.0"])])

我认为这是比入侵服务器和破坏其他客户端的语义版本检查更好的解决方案。

关于ios - 将 sails.io 与 iOS swift 应用程序连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32590533/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com