У меня есть следующий код, написанный в Objective-C, который записывает данные в сокет. Сервер работает node.js поверх Ubuntu:
NSString *url = @"anIPAddress";
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)url, 9000, &readStream, &writeStream);
self.inputStream = (NSInputStream *)readStream;
self.outputStream = (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];
Я могу подключиться к серверу и отправить информацию. Однако я заметил, что соединение истекает через несколько минут (я думаю, 5 минут или около того?). Как я могу сохранить это соединение в живых? Я знаю, что есть разъединение, потому что то же самое происходит, если я подключаюсь к серверу под терминалом, я должен сохранить это соединение в живых. Я предполагаю, что то же самое происходит в моем коде. Спасибо за вашу помощь!