我用的是project,我有一个node.js
服务器,并实现了一个ios客户端。
它在模拟器上运行得很好,但当我在真实的设备上运行时,我无法建立连接。
看起来连接请求并没有从iPhone中发出,因为我在服务器端看不到任何动作(运行在调试模式下)。
此外,服务器不是坐在本地主机,所以我不能看到为什么它工作良好的模拟器,但不是在一个真实的设备..我错过了什么?
来自XCode
的日志:
2015-12-30 11:13:53.579 socket4[560:1722668] Log SocketIOClient: Adding handler for event: important message
2015-12-30 11:13:53.581 socket4[560:1722668] Log SocketIOClient: Adding handler for event: connect
2015-12-30 11:13:53.581 socket4[560:1722668] Log SocketIOClient: Adding handler for event: error
2015-12-30 11:13:53.582 socket4[560:1722668] Log SocketIOClient: Adding engine
2015-12-30 11:13:53.582 socket4[560:1722668] Log SocketEngine: Starting engine
2015-12-30 11:13:53.582 socket4[560:1722668] Log SocketEngine: Handshaking
2015-12-30 11:15:08.713 socket4[560:1723014] ERROR SocketIOClient: The operation couldn’t be completed. Operation timed out
字符串
2条答案
按热度按时间nsc4cvqm1#
我使用了3000端口。结果发现由于某种原因,这个端口在真实的设备上被阻塞,而不是在模拟器上。这可能是因为苹果自己使用这个端口的目的。
我只是改变了服务器和客户端应用程序上的端口,瞧,它工作了!
9vw9lbht2#
在iOS(Xcode)中,它在将Pod上的最小部署目标设置为iOS 12+后才起作用,因为NWProtocolTCP是为iOS 12+实现的。
您需要更改Socket.io附带的 Redis pod的最小部署目标。