1、换成read方法读取也不行,比如下面;结果read永远不会返回-1,因为没有结束符,最后在没有读取到数据的情况没有返回-1,而是选择了等待。 BufferedReader br =newBufferedReader(newInputStreamReader(inputStream));char[] bt =newchar[1024];while(br.read(bt) != -1) { System.out.println(bt); } 2、...
最后发现其实有关 read()本身没问题,而是client端没有做好。 在socket.getOutputStream().write(data)后,尝试socket.getOutputStream().close()。服务器端没问题了,read()会返回-1咯。。。呵呵,但是(最怕但是),客户端close OutputStream后等带服务器的回应的InputSteam.read()出现了:socket closed Exception 最...
代码如下 private StringgetStringFromIOStream(InputStream ios){intbyteArrLen=128;byte[]bytes=newbyte[byteArrLen];StringBuilder ret=newStringBuilder();intlen=byteArrLen;try{while((len=ios.read(bytes))!=-1){// 当客户端主动中断连接时此处会返回-1ret.append(newString(bytes,0,len));// 在最后一...
socket下的网络编程技术,TCP协议能够检测和恢复IP层提供的主机到主机的信道中可能发生的报文丢失、重复及其他错误。 上传者:zsj754272317时间:2014-04-14 Socket连接示例代码 Socket连接示例代码,通过客户端与服务器在本地实现端口通信,也可以在局域网实现
目录Socket上的Read操作阻塞问题从Socket上读取对端发过来的数据一般有两种方法总结一下,有这么几个方法Socket编程---read方法阻塞问题 Socket上的Read操作阻塞问题 从Socket上读取对端发过来的数据一般有两种方法 1)按照字节流读取 BufferedInputStream in = new BufferedInputStream(socket.getInputStream()); ...
socket.getInputShttp://tream()方法会导致程序阻塞,直到inputStream收到对方发过来的报文消息,程序才会继续往下执行。 public ObjectInputStream(InputStream in) throws IOException的官方API显示: Creates an ObjectInputStream that reads from the specified InputStream. A serialization stream header is read from ...
socket.getInputStream()方法会导致程序阻塞,直到inputStream收到对方发过来的报文消息,程序才会继续往下执行。 public ObjectInputStream(InputStream in) throws IOException的官方API显示: Creates an ObjectInputStream that reads from the specified InputStream. A serialization stream header is read from the stream...
socket.setSoTimeout(10000);//设置时延时间,单位毫秒 InputStream is = socket.getInputStream(); //在设置好Timeout后,可以直接读取数据 //如果没有可读数据,系统会自动等上一段时间 //在规定的时间内还没有数据的话再抛异常 is.read(); 这样,问题得到彻底解决。
坐等楼下大神###异步处理?
Socket编程---read⽅法阻塞问题 Socket上的Read操作阻塞问题 从Socket上读取对端发过来的数据⼀般有两种⽅法 1)按照字节流读取 BufferedInputStream in = new BufferedInputStream(socket.getInputStream());int r = -1;List<Byte> l = new LinkedList<Byte>();while ((r = in.read()) != -1) { l...