Ios iPad TCP连接套接字超时(代码60)

Ios iPad TCP连接套接字超时(代码60),ios,xcode,ipad,ios-simulator,Ios,Xcode,Ipad,Ios Simulator,我正试图从iPad上建立一个简单的TCP套接字连接 我得到了一套代码,并使用模拟器运行,效果很好 但当我在iPad上运行此代码时,它失败了 这是密码 CFReadStreamRef readStream; CFWriteStreamRef writeStream; CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"192.168.1.10", 19997, &readStream, &writeStream); inp

我正试图从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测试相同的代码

此外,您还可以在另一个项目或项目中的另一个“点”进行测试。“你在哪里调用代码”可能有问题

您还应该考虑只使用现有的框架来连接这些连接,而不是自己编写所有的东西。


我使用谷歌异步套接字来实现这一点。

在打开流之前,您是否尝试将它们添加到运行循环中?[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop]forMode:NSDefaultRunLoopMode];[outputStream ScheduleRunLoop:[NSRunLoop currentRunLoop]forMode:NSDefaultRunLoopMode];我是从我的手机发帖的,很抱歉没有正确格式化谢谢你的帮助,你是对的,它在服务器端。