我是java socket程序的新手,我正在做一个客户端服务器程序并遇到一些问题,因为我的客户端无法接收服务器消息,我认为问题是从服务器出来的,这里是部分我认为包含错误的服务器程序
if((input.readUTF()) != null){
output.writeUTF("Welcome my client"); // display the message to client
output.flush();
output.close();
}
我正在使用CMD测试我的程序,当我运行客户端程序并单击加入按钮(btn1),“服务器:客户端连接到”....“这是/是”.. ...“在服务器中”消息弹出,之后是“服务器:.......”你是\ t“.....”消息。当我检查我的客户端程序时,它会像这样直接挂起。
“欢迎我的客户”消息应该发送回客户端,一旦客户端收到消息,它将显示更多按钮,我检查了许多在线资源,其中一些显示BufferedReader和PrintWriter正在使用或wirteBytes / readBytes函数。所以我不知道我的错误在哪里?
http://codepad.org/iw17uwoJ
这是我的客户端程序
http://codepad.org/oNRohEXp
这是我的服务器程序
答案 0 :(得分:-1)
要从客户端获得对服务器端的响应,将从客户端发送数据。在客户端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");
}