Проблемы в закрытии и открытии сокета java - PullRequest
1 голос
/ 02 февраля 2011

Я пишу приложение в Java Swing, которое использует сокет для подключения к агенту Python, отправки и получения данных через сокет и закрывает,

Теперь, когда я пытаюсь открыть сокет снова, это дает мне ошибку,

Я пытался проверить состояние сокета после закрытия сокета, я застрял на следующей проблеме

clientSocket //is my java socket,

clientSocket.isConnected() //returns true
clientSocket.isBound() //returs true
clientSocket.isClosed() //return true

Может кто-нибудь помочь, как я могу убедиться, что статус моего сокета?

Ответы [ 2 ]

0 голосов
/ 28 июня 2011

Создайте новый сокет каждый раз. Когда вы закрываете сокет, дескриптор файла освобождается и сокет больше не доступен. Его нельзя открыть заново. От JDK:

После закрытия сокета он становится недоступным для дальнейшего использования в сети (т. Е. Не может быть повторно подключен или восстановлен). Необходимо создать новый сокет.

0 голосов
/ 02 февраля 2011

Не пытайтесь снова открыть закрытую розетку.Вместо этого переинициализируйте его, вызывая тот же конструктор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...