我红了一个有关iOS套接字编程的教程。iOS网络教程。如前所述,我使用python脚本启动了服务器。我通过telnet连接了一些客户端,并且一切正常。然后,我编写了代码或iOS应用程序,出现了问题。当我在模拟器中运行该应用程序时,它的效果很好,但是在我的设备上却没有任何效果。
我有以下iOS代码
- (void)initNetworkCommunication
{
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)(@"127.0.0.1"), 80, &readStream, &writeStream);
inputStream = (__bridge_transfer NSInputStream *)readStream;
outputStream = (__bridge_transfer NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
}
那么,这里出了什么问题?有人可以帮我吗?
我的猜测是您正在尝试从未像模拟器那样在本地运行的设备连接到本地主机(127.0.0.1)。如果希望它可以在iOS设备上运行,则需要尝试连接到本地网络上服务器的实际IP。仅当代码在运行服务器的同一台计算机上运行时,当前地址才有效,因此,为什么模拟器可以工作,而您的设备却不能工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句