写了一个小程序,服务器,客户端都在自己电脑上运行,我让客户端输入数据,为了看服务器端是否接受到,我用一个变量接收客户端发送的数据,服务器端用System.out.println(a);来测试,可是当服务器程序运行之后,再去与运行客户端程序,控制台只是显示客户端程序的结果,不会显示服务器的那个测试System.out.println(a);的结果,但是当我再把接收到的变量传给客户端,客户端接收并显示时就可以显示了,不知道这是为什么,(这就是echo程序了)当然是2个main函数了,只有一个控制台,两个程序同时运行,怎么只显示客户端的而不显示服务器端的呢?
原来是对myeclipse不熟悉,呵呵,可以显示两个控制台的:http://topic.youkuaiyun.com/u/20110720/18/54d82e2d-6233-4292-b8e5-cadee555f842.html
服务器端程序启动后,再次启动的话,会报错:Exception in thread "main" java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
google了一下,错误的意思是端口被占用了,
我改变了程序的端口,结果可以了,不过总不能每运行一次服务器端程序就改一次端口吧,
还有一种解决办法是从任务管理器中结束一个 名为 javaw 的进程就可以了,不过这样也不好吧
嘿嘿,还是老师牛哈,端口被占用了,那么就是服务器端程序还在运行,重新运行服务器端程序之前先终止服务器端程序的运行,这个需要切换到(或者另外再打开)服务器端程序的控制台界面,这种切换方法上面刚刚说过了,呵呵~~