2013-07-23 108 views
0

我正在构建一个相对简单的基于位置的应用程序,它使用套接字连接到处理位置更新的服务器。当我在模拟器上运行应用程序时,我没有问题连接到服务器,但是当我在我的iphone上运行它时,它无法连接。我正在Macbook Pro上运行此功能,并且防火墙已关闭。有任何想法吗?以下是试图连接并发送消息的应用程序中的代码:iOS模拟器可以连接到服务器,但iPhone不能

- (void) sendToServer: (NSString *)message; { 

NSLog(@"Trying to Connect."); 
//Establish connection with server 
CFReadStreamRef readStream; 
CFWriteStreamRef writeStream; 
CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef) self.ip, self.port, &readStream, &writeStream); 
self.inputStream = (__bridge NSInputStream *) readStream; 
self.outputStream = (__bridge NSOutputStream *) writeStream; 
[self.inputStream setDelegate: self]; 
[self.outputStream setDelegate: self]; 
[self.inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; 
[self.outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; 
[self.inputStream open]; 
[self.outputStream open]; 

//Send data to server 
NSData *data = [[NSData alloc] initWithData:[message dataUsingEncoding:NSASCIIStringEncoding]]; 
[self.outputStream write:[data bytes] maxLength:[data length]]; 

[self.outputStream close]; 
[self.outputStream removeFromRunLoop:[NSRunLoop currentRunLoop] 
          forMode:NSDefaultRunLoopMode]; 
[self.inputStream close]; 
[self.inputStream removeFromRunLoop:[NSRunLoop currentRunLoop] 
          forMode:NSDefaultRunLoopMode]; 

} 

谢谢!

+1

该服务器上是否有其他服务,如Web服务器?如果是这样,你可以连接到通过你的iPhone(如使用移动Safari)? –

回答

0

我的猜测是您的网络服务器位于您的手机无法连接的内部网络上。

相关问题