Я начинаю с программирования сети JAVA. Я написал класс сервера, который использует ServerSocket для прослушивания порта 3333. Ниже приведен фрагмент кода.Java-клиентский сокет возвращает исключение тайм-аута соединения
try {
servSock = new ServerSocket(portNumber);
//servSock.setSoTimeout(100000);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Socket link = null; //Step 2.
while(true){
try {
link = servSock.accept();
Это прекрасно работает, поскольку вызов accept блокирует программу правильно.
Но при подключении к одному порту с одной и той же машины через клиент, используя приведенный ниже код
Socket link = new Socket();
link.connect(new InetSocketAddress(InetAddress.getLocalHost(),3333), 50000);
Он бросает ConnectionTimedout через некоторое время.
Я не могу подключиться к серверу !. Пожалуйста, помогите кому-нибудь.
попытайтесь напечатать значение 'InetAddress.getLocalHost()'. Также попробуйте заменить 'InetAddress.getLocalHost()' на 'localhost' –
Wow, который сработал! :) борется с этим уже 3 часа. Большое спасибо :) –
В чем проблема с InetAddress.getLocalhost? по крайней мере, это то, что есть во многих учебниках. –