读书人

一个网络通信的有关问题

发布时间: 2012-02-26 20:19:45 作者: rapoo

一个网络通信的问题
inData =new BufferedReader(
new InputStreamReader(
MySocket.getInputStream(), "GB2312 "));
String SrvSendText;
SrvSendText = inData.readLine();
ChatText.setText( "SrvSendText: "+SrvSendText+ "\n ");

连接是通的,如果注释SrvSendText = inData.readLine(); 或断开连接,就可以运行下面一句ChatText.setText( "SrvSendText: "+SrvSendText+ "\n ");否则都不运行下去

请问这是什么回事呢??
如果读到空的是不是也应该输出 "SrvSendText: "呢,我在服务端也发了数据过来了,但也是如此

我搞了好久,知道的一定要帮帮啊,SOS sos SOS

[解决办法]
接收到的数据无换行符,readLine()阻塞.服务端数据后加 '\n '应该可以解决.
[解决办法]
public String readLine()
throws IOException读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ( '\n ')、回车 ( '\r ') 或回车后直接跟着换行。

返回:
包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null

读书人网 >J2SE开发

热点推荐