你的程序整体上没有问题,服务器端之所以取不到是因为你的System.out.println(bis.readLine()); 输出的是一行信息,当你在客户端一直输入而没有换行时,服务器端一直在等待行结束符号。
修改方法:dos.write(st);这行改为dos.write(st+"\n");
。。。这种场合,还有什么串口程序啊。。。的inputstream都不适合用缓冲,缓冲需要自己构造,你弄一个stringbuffer出来,然后每次判断inputstream时候可读,就是read()的返回值大于0,然后把读到的int数据append到stringbuffer上面就行了。。。效果和直接用bufferedreader是一样的。。主要是因为延时问题。。。
顺便说下,你太猛了,直接用socket,,,如果你要做个中心服务式的聊天室,那用socket能把你搞死。。。换RPC吧~~呵呵~~~
如果用缓存的话要调用bis.flush();用意是把全部输出。如果不调用这个方法流可能没有读完。