сервер не может закрыть сокетное соединение с iPhone, когда iPhone находится в режиме ожидания - PullRequest
0 голосов
/ 30 декабря 2011

Я использую AsyncSocket для установления tcp-соединения через Wifi с сервером, и через 10 секунд сервер будет активно закрывать соединение.

Когда iPhone не находится в режиме ожидания, соединение будет разорвано сразу после вызова сервера :: close (int socked).

Но когда iPhone находится в режиме ожидания, я обнаружил, что соединение все еще живо, когда сервер вызвал :: close (int socketfd) API.

Кто-нибудь может дать объяснение?

1 Ответ

1 голос
/ 30 декабря 2011

Проблема в том, что ваш сервер отправляет закрытый вопрос и ждет ответа клиента, чтобы он даже закрыл соединение. Ваш IPhone находится в ждущем режиме и не может отправлять какие-либо вопросы или ответы, если соединение разорвано, оно должно быть автоматически закрыто, возможно, для этого вам нужно реализовать функцию разрыва соединения.

...