public static void main(String[] args) throws IOException {
String hostName = "127.0.0.1";
int portNumber = 4848;
Socket echoSocket = new Socket(hostName, portNumber);
PrintWriter out = new PrintWriter(echoSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
System.out.println("echo: " + in.readLine());
}
}
它应该通过将它发送到套接字并再次从套接字中获取来回显您所写的内容。会发生什么事情,当我输入内容并按下输入时,大约需要10秒,然后是echo: null
。
测试
回声:测试
测试
echo:null
我的问题是:
如何解决?
我需要测试套接字的功能。通过做这样简单的事情,它有助于我理解如何使用它们。我想创建一个实时聊天服务器。但是,如果这个简单的程序不起作用,我不能。我不傻到不使用userInput。我知道。
答案 0 :(得分:0)
问题是我正在同一InputStream
上访问OutputStream
的{{1}}和echoSocket
。谢谢kumesana。不用谢,EJP。大帮忙