【发布时间】:2015-10-16 15:09:36
【问题描述】:
我对 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
这是我的服务器程序
【问题讨论】:
-
有问题的代码,请。链接过时了,因此对未来的观众来说失去了所有价值。
-
如果您在一端使用
readUTf()/writeUTf(),那么您也必须在另一端使用它,而不是 Readers 和 Writers。注意readUTF()不返回空值。你为什么要测试它? -
所以你的意思是我的客户端程序也需要一个 writeUTF,因为我发现我的程序中没有这个东西而且我的客户端无法发布服务器输出?
-
“你必须在另一端也使用它”的哪一部分你不明白吗?
标签: java sockets client server