Сервер не может закрыть сокетное соединение с iPhone, когда iPhone находится в режиме ожидания
Я использую AsyncSocket для установления tcp-соединения через Wifi с сервером, и через 10 секунд сервер будет активно закрывать соединение.
Когда iPhone не находится в режиме ожидания, соединение будет разорвано сразу после вызова сервера::close(int socked).
Но когда iPhone находится в режиме ожидания, я обнаружил, что соединение все еще живо, когда сервер вызвал::close(int socketfd) API.
Кто-нибудь может дать объяснение?
1 ответ
Проблема в том, что ваш сервер отправляет закрытый вопрос и ждет ответа клиента, чтобы он даже закрыл соединение. Ваш IPhone находится в ждущем режиме и не может отправлять какие-либо вопросы или ответы. Если соединение разорвано, оно должно быть автоматически закрыто, возможно, в этом случае вам необходимо реализовать функцию разрыва соединения.