gpt4 book ai didi

java - Socket通信BufferedReader

转载 作者:行者123 更新时间:2023-12-01 10:52:29 25 4
gpt4 key购买 nike

我对缓冲区读取器不太了解,但我的在应该读取任何建议的行挂起

import java.io.*;
import java.net.*;

public class Host
{

public static void main(String args[])throws Exception
{
ServerSocket ss = new ServerSocket(5001);
Socket s=new Socket("127.0.0.1",5001);
s=ss.accept();

PrintWriter writer = new PrintWriter(s.getOutputStream(), true);

writer.write("Time");
writer.println("time");

BufferedReader reader = new BufferedReader(new InputStreamReader(s.getInputStream()));

String test =reader.readLine();
System.out.println(test);
s.close();
ss.close();
}

}

最佳答案

对等方没有发送线路或关闭套接字。原因:

Socket s=new Socket("127.0.0.1",5001);

在这里,您正在与自己建立联系。

 s=ss.accept();

在这里,您将丢弃该Socket并接受一个新的,它现在是您刚刚丢弃的连接的一端。

String test =reader.readLine();

在这里,您试图从对等方读取一行永远无法到达的行,因为对等方是您自己,并且您已经丢弃了 Socket。

在下一行分配变量时,不需要初始化任何变量。应该是:

Socket s = ss.accept();

关于java - Socket通信BufferedReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33770782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com