套接字编程 - iPhone - 连接自动断开连接

时间:2014-02-20 09:14:10

标签: iphone sockets chat

我正在尝试在iPhone APP中实现聊天客户端。我正在使用以下代码打开套接字连接。但我的流连接会自动断开连接。问题是什么?如何通过代码手动关闭连接之前如何保持连接?

- (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];

}

1 个答案:

答案 0 :(得分:0)

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

标准配置约为1分钟 - 直到60秒的空闲时间,它将通过发送有效的结束连接信息断开客户端与服务器的连接。

将服务器的配置检查为更高的值,或者每30秒发送一次心跳包以保持连接活动。