socket.io swift 在真实设备上不起作用

Posted

技术标签:

【中文标题】socket.io swift 在真实设备上不起作用【英文标题】:socket.io swift not working on real device 【发布时间】:2016-04-04 05:54:32 【问题描述】:

我正在使用这个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

【问题讨论】:

【参考方案1】:

想清楚! 我使用了 3000 端口。 事实证明,由于某种原因,真实设备上的端口被阻塞,而不是模拟器上。 可能是因为苹果自己使用该端口来实现其目的。

我刚刚更改了服务器和客户端应用程序上的端口,并且 - 哇,它可以工作了!

【讨论】:

以上是关于socket.io swift 在真实设备上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

EditText 的 onCreateContextMenu() 在真实设备上不起作用

通用链接在真实设备上不起作用

颤振图像上传在真实设备上不起作用,虽然它适用于模拟器

为啥故事板弹出框在 Swift 中的设备上不起作用?

Swift SpriteKit反向屏蔽在设备上不起作用,但在Simulator中有效

NSUserDefaults 在 IOS 8 模拟器上不起作用 [重复]