解决方案 »

  1.   

    Socket的InputSream是阻塞式的,当你read的时候它会一直卡在那里,直到Socket关闭或者流关闭。
    所以你的程序就一直卡在30行
    while( (size = bufferedReader.read(cbuff))> 0)顺便提一下那个convertByteToChar方法的做法是不太好的,为什么不直接用String自带的解码方法,而且你这个只支持ASCII字符集,如果有中文等字符怎么办?
      

  2.   

    那如果要实现我提到的第二步,应该用什么来实现呢?新建一个socket?谢谢,我去试试
      

  3.   

    Socket一般做法是用两个线程,一个用来read,一个用来write和其他控制
    或者你可以用非阻塞式的SocketChannel
      

  4.   

    结贴后才发现,问题还是没解决,多线程的实现是服务器端解决的,但我做的这个程序只能设计客户端,客户端的多线程如何处理?
    客户端也可以多线程啊,连接好以后,启动一个新线程去等待read,然后当前线程可以用来控制write