我正在尝试从 iPad 建立简单的 TCP 套接字连接。
我使用模拟器启动并运行了一组代码,它工作正常。
但是当我在 iPad 上运行此代码时,它失败了。
这是代码...
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"192.168.1.10", 19997, &readStream, &writeStream);
inputStream = (NSInputStream *)readStream;
outputStream = (NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream open];
[outputStream open];
代码卡在[inputStream open]上;然后我收到错误:
The Operation Couldn't be completed. Operation timed out. Code 60.
我在这里错过了一些简单的东西吗? iOS权限什么的?为什么它可以在模拟器上运行?我是 iOS 开发新手。
感谢您的帮助!
最佳答案
我在我的 iPhone 上测试了你的代码,它工作正常。不过,连接的“另一端”可能存在问题。
您应该使用 www.google.com 端口 80 测试相同的代码。
您还可以在另一个项目或项目中的另一个“点”对其进行测试。也许“你调用代码的位置”有问题
您还应该考虑仅使用现有框架来实现这些连接,而不是自己编写所有内容。
我为此使用 Google 异步套接字。
关于ios - iPad TCP 连接套接字超时(代码 60),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15885482/