我已经使用这个简单的SocketIOManager 类来连接服务器
static let sharedInstance = SocketIOManager()
let manager = SocketManager(socketURL: URL(string: "http://192.168.31.57:3000")!, config: [.log(true), .compress])
override init() {
super.init()
}
func establishConnection() {
manager.defaultSocket.connect()
}
func closeConnection() {
manager.defaultSocket.disconnect()
}
这里的 IP 是我的本地主机 IP 而我正在监听的 port 是在 node.js上定义的strong> 我从网上下载的文件。它工作正常并且按预期连接。然而,在我的现实生活项目中,我试图连接到外部服务器,而我的 api 团队没有给我任何特定的端口来听,他们只是给了我url。不用说我无法与服务器建立套接字连接。我的问题是我可以在不监听特定端口的情况下建立套接字连接吗?这是我的第一个套接字编程项目,我在互联网上找到了很少的关于 iOS 套接字编程的教程。我正在使用 socket.io-client-swift 库。
最佳答案
在套接字基础连接中,端口是非常需要的。
套接字是网络上运行的两个程序之间双向通信链路的一个端点。套接字绑定(bind)到端口号,以便 TCP 层可以识别数据要发送到的应用程序。
https://docs.oracle.com/javase/tutorial/networking/sockets/definition.html
关于swift - 我可以在服务器上没有专用端口的情况下运行 socketio swift 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48043005/