1

我对 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。它也没有工作。

任何帮助表示赞赏:)。

麦克风。

4

1 回答 1

1

好的,然后作为答案,您可以关闭问题;-)

向 Writer 添加一个 flush() 和一个 close()。

希望有帮助。:-)

于 2011-07-14T07:31:15.253 回答