Подключение к ServerSocket с локальной машины - PullRequest
1 голос
/ 14 июля 2011

Я довольно новичок в Java, и в настоящее время я экспериментирую с сокетами и буферами.

Что я хотел попробовать, так это просто создать соединение из одного локального Java-приложения и другого. Я использую ServerSocket и Socket.

Серверное приложение имеет поток, который прослушивает соединения:

    public void run() {

    try{

        ServerSocket serverSock = new ServerSocket(62666);

        while(doRun){

            Socket sock = serverSock.accept();
            BufferedReader reader = new BufferedReader(new InputStreamReader(sock.getInputStream()));

            InfoReader.gui.writeToTextArea(reader.readLine() + "\n");



            reader.close();

        }
    }catch(IOException e){
        e.printStackTrace();
    }

}

«Клиент» просто отправляет на сервер строку (ну, она должна, но я не могу заставить ее работать):

try{
        Socket sock = new Socket("127.0.0.1",62666); 
        PrintWriter writer = new PrintWriter(sock.getOutputStream());
        writer.print("Connection works!");
    }catch(IOException e){
        e.printStackTrace();
    }

Я уверен, что порт открыт и уже перенаправлен на локальную машину. Я проверил http://canyouseeme.org/.

Я также попытался использовать свой внешний IP-адрес в качестве IP-адреса сокета в клиенте. Это тоже не сработало.

Любая помощь приветствуется:).

Mike.

1 Ответ

1 голос
/ 14 июля 2011

Хорошо, тогда как ответ, чтобы вы могли закрыть вопрос; -)

Добавьте flush () и close () в Writer.

Надеюсь, что это поможет.: -)

...