我可以在服务器上没有专用端口的情况下运行socketio swift

时间:2017-12-31 13:50:13

标签: swift socket.io

我使用这个简单的 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 库。

1 个答案:

答案 0 :(得分:1)

在套接字基础连接中,非常需要端口。

套接字是网络上运行的两个程序之间的双向通信链路的一个端点。套接字绑定到端口号,以便TCP层可以识别数据发往的应用程序。

https://docs.oracle.com/javase/tutorial/networking/sockets/definition.html