服务器未在java中向客户端回复消息
我对java套接字程序非常陌生,我正在做一个客户机-服务器程序,遇到了一些问题,因为我的客户机无法接收服务器消息,我认为问题来自服务器,这是服务器程序的一部分,我认为是错误服务器未在java中向客户端回复消息,java,sockets,client,server,Java,Sockets,Client,Server,我对java套接字程序非常陌生,我正在做一个客户机-服务器程序,遇到了一些问题,因为我的客户机无法接收服务器消息,我认为问题来自服务器,这是服务器程序的一部分,我认为是错误 if((input.readUTF()) != null){ output.writeUTF("Welcome my client"); // display the message to client output.flush(); output.close(); } 我正在使用CMD测试我的
if((input.readUTF()) != null){
output.writeUTF("Welcome my client"); // display the message to client
output.flush();
output.close();
}
我正在使用CMD测试我的程序,当我运行客户端程序并单击连接按钮(btn1)时,“服务器:客户端连接到”。。。。“哪些是……”。。。。。“在服务器中”消息弹出,然后是“服务器:….”您就是\t“…”消息。当我检查我的客户端程序时,它就这样挂断了
“欢迎我的客户”消息应发送回客户机,一旦客户机收到消息,它将显示更多按钮,我检查了许多在线资源,其中一些显示BufferedReader和PrintWriter正在使用或WiretBytes/readBytes功能。所以我不能知道我的错误在哪里吗
这是我的客户程序
这是我的服务器程序从客户端获取对服务器端的响应,数据将从客户端发送。在客户端MyNoteCenter.java类中添加简单代码
try
{
Socket s = new Socket("127.0.0.1", 8888);
DataInputStream input = new DataInputStream(s.getInputStream());
DataOutputStream output = new DataOutputStream(s.getOutputStream());
output.writeUTF(tf1.getText() + " & " + tf2.getText());
String word = input.readUTF();
System.out.println("word=" + word);
JOptionPane.showMessageDialog(null, word);
output.flush();
output.close();
s.close();
}
catch(IOException exp)
{
JOptionPane.showMessageDialog(null,"Client : Can't Connect To Server, Please Try Again");
}
有问题的密码。链接会过时,因此会删除未来查看器的所有值。如果您在一端使用
readUTf()/writeUTf()
,则必须在另一端使用它,而不是在读卡器和写卡器上。NBreadUTF()
不返回null。你为什么要测试它?那么你的意思是我的客户端程序也需要一个writeUTF,因为我发现我的程序中没有这个东西,我的客户端无法发布服务器输出?你不明白“你也必须在另一端使用它”的哪一部分吗?嗨,rafiq,我试着按照你的建议修改代码,但它仍然没有给我任何回应。更改代码后,我是否需要向您显示我的代码?我不确定,我查一下你的密码。没问题。首先运行服务器,然后运行客户端。在客户端面板中输入用户名和id,然后单击加入。谢谢你,你真好,你完全解决了我的问题。我学到了一些新东西,上帝保佑你。word
怎么会是空的?不可能。因此,此代码的一部分无法访问,因此未经测试。