我使用这个简单的 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 ,而我正在侦听的端口是在 node.js上定义的我从互联网上下载的文件。它工作正常,并按预期连接。然而,在我的现实生活项目中,我正在尝试连接到服务器而我的api团队没有给我任何特定的端口来倾听,他们只是给了我 url 。不用说我无法与服务器建立套接字连接。我的问题是我可以在没有监听特定端口的情况下建立套接字连接吗?这是我的第一个使用套接字编程的项目,我在互联网上发现很少有关于iOS中套接字编程的教程。我正在使用 socket.io-client-swift 库。
答案 0 :(得分:1)
在套接字基础连接中,非常需要端口。
套接字是网络上运行的两个程序之间的双向通信链路的一个端点。套接字绑定到端口号,以便TCP层可以识别数据发往的应用程序。
https://docs.oracle.com/javase/tutorial/networking/sockets/definition.html