Серверные сокеты Не принимаем клиентов - PullRequest
0 голосов
/ 13 октября 2011

Я изучаю сокеты в Java. Мне удалось подключить клиентский сокет к онлайн-серверу, но я могу подключить их к своему собственному серверному сокету!

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

class Blargh2 {
    public static void main(String[] args) {
        Socket client = null;
        ServerSocket server = null;
        System.out.println("Line one reacehd!");
        try {
            server = new ServerSocket(4445);
        } catch (Exception e) {
            System.out.println("Error:" + e.getMessage());
        }
        System.out.println("Line two reacehd!");
        try {
            client = server.accept();
        } catch (IOException e) {
            System.out.println("Accept failed: 4444");
            System.exit(-1);
        }

        System.out.println("Line three reacehd!");
        try {
            server.close();
            client.close();
        } catch (IOException e) {
            System.out.println("Accept failed: 4444");
            System.exit(-1);
        }
    }
}

Программа достигает первой и второй строк, но никогда не достигает третьей строки! Может кто-нибудь помочь мне решить это? Брандмауэр также разрешает это соединение ...

Ответы [ 2 ]

3 голосов
/ 13 октября 2011

Он никогда не достигает линии 3, потому что вам нужен удаленный сокет TCP (хотя он может быть локальным, для тестирования) для подключения к вашему сокету через порт 4445. На сервере принимаются сокеты конечных точек, которые используются для связи с удаленным клиент. Здесь на самом деле нет клиента, поэтому он ждет неограниченное время или до истечения времени ожидания вызова accept().

0 голосов
/ 13 октября 2011

Попробуйте запустить этот код и после того, как увидите, что строка 2 выполнена, затем выполните команду windows:

telnet localhost 4445

Затем вы увидите, что ваша строка 3 выполнена.

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