socket建立连接以后,从InputStream中读取数据怎么是阻塞方式的?有什么办法知道已经读到结尾了么?比如客户端发送数据给服务端,然后读取返回的数据,什么时候表示数据已经完成?

解决方案 »

  1.   

    加入结束符或用readline()的方法.
      

  2.   

    1。3版本得jdk都支持异步socket,回去仔细研究。
      

  3.   

    晕,只能在协议中控制么?那如果中间数据出错呢?我先知道了要发送5个字节,结果只发了4个就丢了一个,这边会不会一直阻塞下去啊,没有不阻塞的方式么
    ---------------
    只能在协议中控制,还要加timeout控制
    如果用nio可以异步sock, 但也不能解决你的问题“有什么办法知道已经读到结尾了么”
    通常是协议控制,每次先发一个控制头