服务器代码:
http://stikked.com/view/64826511
客户网络代码:
http://stikked.com/view/38974838
基本上,客户端连接到服务器,但除此之外,它不起作用。发送消息时,客户端的System.out.println指示GUI正在调用正确的函数。但没有迹象表明服务器曾接受过输入。如果我telnet到服务器,它可以正常运行。
这是我对线程代码和java网络的第一次独立尝试。到目前为止,我的大多数编程都是网络应用程序或非常简单的桌面应用程序(例如计算器)。
(如果您的答案是“您做错了”,请指向客户端服务器程序的正确教程,客户端和服务器都可以随时发送消息。我看过的所有教程都有客户端执行一些硬编码命令,然后退出)
答案 0 :(得分:3)
两个直接问题 - 您正在使用PrintWriter
,这意味着如果它实际上无法与服务器通信,它将不会抛出任何异常。你也没有打电话给flush()
,所以它可能只是缓冲数据。
我建议:
OutputStreamWriter
代替PrintWriter
,并适当处理异常。这也将消除缓冲。您可能希望将其打包在BufferedWriter
中,然后在“完成”消息后调用flush()
。