2014-02-20 51 views
0

我想实现在iPhone APP聊天客户端。我正在使用下面的代码来打开套接字连接。但是我的流连接会自动经常断开连接。会有什么问题?如何保持连接,直到通过代码手动关闭连接?Socket编程 - iPhone - 连接连接断开自动

- (void) initNetworkCommunication { 

CFReadStreamRef readStream; 
CFWriteStreamRef writeStream; 

CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"111.122.123.124", (UInt32)123, &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]; 

} 
+0

通常有超时进行读,写,你可以配置。也许超时间隔要短... – AntonijoDev

+0

我应该给出时间间隔? – Dev

+0

我真的不知道,我从来没有使用过这个类,但我是使用TCP连接GCDAsyncSocket并有类似的问题,所以我的意见只是一个方向指针。通常的连接部分闲置后突破(读/写)期... – AntonijoDev

回答

0

如果您不使用websocket - 不发送任何数据,它通常会自动从服务器端断开连接。

标准配置是为约1分钟 - 直到空闲时间的60其次,它会通过发送有效的端到端连接信息断开客户端从服务器。您的服务器更高的价值

检查配置或发送心跳包每30秒保持连接。

+0

我正在使用websocket – Dev