黑马程序员技术交流社区

标题: Socket传输问题 [打印本页]

作者: sanguodouble1    时间: 2014-4-18 20:03
标题: Socket传输问题
本帖最后由 sanguodouble1 于 2014-4-20 10:29 编辑

在socket中进行传输时,为什么用DataInputStream的readUTF方法可以读取数值,而用BufferedReader的readLine()方法就一直处于读取状态呢?

作者: sheng6699    时间: 2014-4-18 20:14
1 因为readLine的意思是一直读直至回车符或者流结束。
2 可能你使用了网络流(Socket之类),但是对方并没有发送回车而且没有结束流,所以你的程序在等待。
如果是网络流,你应该在收取数据前先与服务器沟通一下,知道传递过来的数据有多长,又或者以什么作为结束符,否则是无法正确的完整接收到服务器的数据
作者: ノtrack    时间: 2014-4-18 22:21
通过键盘录入出现的
现象:客户端和服务端两端都在等待,为什么呢?
因为客户端和服务端都有阻塞式方式,这写方法没有读到结束标记
那么就一直在等待,而导致两端都在等待




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2