После того, как я создал сокет и установил соединение, я использую BufferedReader и PrintWriter для записи/чтения из сокета.Java socket TCP teardown
Socket s = new Socket(ip, port);
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter out = new PrintWriter(s.getOutputStream());
Когда я закончил использовать гнездо, я закрою его.
s.close();
Это приведет к отправке плагина TCP и оставлению полуоткрытого TCP-соединения. Есть ли способ определить, закрыл ли клиент/сервер его конец соединения?
Посмотрите на это [вопрос] (http://stackoverflow.com/questions/155243/why-is-it-impossible-without-attempting-io-to-detect-that-tcp-socket-was- grac), он должен ответить на ваш вопрос с довольно большой информацией. – Carlo