WEB 开发 开发语言 Java 技术 .Net 技术 数 据 库 硬件使用
图象媒体 Linux/Unix 移动平台 嵌入开发 Windows 专区 软件工程
Ajax 技术 | ASP | PHP | ASP.NET | C# | JSP | Access | Oracle | 网页设计 | Flash | 安全专题 | IIS | VC/MFC | Delphi | C/C++
 你的位置:首页 > Java 技术 > J2SE / 基础类

请问从socket取得的InputStream的readLine()方法是不是自动阻塞的?
[ 来源:ITWENKU 时间:2007-4-11 9:50:09 | 浏览:366人次 ]

String inmsg;
while (true) {
try {
inmsg = in.readLine();
System.out.println("inmsg sent by server!:" + inmsg);

} catch (Exception ee) {

}
}
其中的in是从socket的getInputStream()取得的输入流。
想问的是,在永真的while循环里,是不是只有当inmsg = in.readLine();成功的从in里读取了一行文本,程序才继续往下走?
如果不是,循环体执行的太频繁,浪费资源。
那么,具体的情况是如何的?


当然是自动阻塞的! 想不阻塞用nio,这个肯定阻塞!


但是
inmsg = in.readLine();// receive the msg from server
System.out.println("Msg from server!:" + inmsg);
if (inmsg.startsWith("newuser")) {//报错!
String[] userInfo = inmsg.split("&");
System.out.println(userInfo[1] + " " + userInfo[2]
+ " ");
}
这个总是报unknow source,System.out.println("Msg from server!:" + inmsg);也打出了
Msg from server!: null
这是怎么搞得呢?
我肯定没有用那个啥nio.
谢谢。


我現在也遇到同樣問題﹐這個問題怎么解?


nio不是在Linux才能用嗎?
在Java中怎么使用?


inmsg = in.readLine();// receive the msg from server
OMG,根本就不阻塞了,为什么!!!


in.readLine();前面的程序是否已经读取过一次了,如果只有一行,又读取过一次了, in.readLine();就会取不到值的


哦?
有用的提示,谢谢!
看看先!


应该看你的socket是否阻塞


in.readLine();前面的程序是否已经读取过一次了?回答是没有。
umbrella1984(雨伞(KEN)) ,socket阻塞?这个怎么看啊?
能否详细点,谢谢!


in.readLine()的时候在等待,要有东西可读,再能读下去,另外,如果用了缓存的流,缓存不够,也会等待,读不下去.


发现socket连接没有成功,汗啊。。。


错了,连接成功了,但是现在怀疑是线程的问题。
问题描述:
public class MainWindow extends JFrame implements Runnable{...}
MainWindow 是主窗口,本身是Runnable的。它上面添加了个Panel----titlePane ,也是Runnable的。
public class titlePane extends JPanel implements Runnable{...}
请问这样会不会有问题?
如果有,要怎样才是安全的?
多谢!


问题解决了。
原因是:
阿拉不小心在服务器端把这个socket连接的输出流给关闭了,结果客户端对应的输入流就傻了,一个劲的readLine(),读到的都是null,呵呵。
谢谢各位,散分咯!

 相关文章
·客户端连接服务器的时候,能绑定自己的端口号吗?
·跟抽象类有关的问题
·如何将一个txt文件,读取到一个String数组里面
·FileReader与FileWriter读写"*。txt"的问题
·如何改变键盘的输入值
·有个关于JAVA向上转型的问题

 推荐文章
你们帮我改一下这个程序,它的界面怎么没有!
Socket问题
程序为什么会出现这样的异常
finally的神秘问题
右移>>>的问题
如果一个类里的构造函数含有本身类的对象,那该怎么处理的或怎么理解的?
大家遇到过jvm coredump的情况吗
请教: JDBC怎么传一个数(字符串)给数据库?(调用数据库的function)
编写一个java程序
求救:循环问题,在线等!!!
js里的document.write总是转到新的页面输出???
菜鸟..问问题了.. GUI 对一个初学者有没有很大的作用...我的那本书就那个没学得好.有谁能指教一下..谢谢
 版权所有:IT问库
copyright © 2006 www.itwenku.cn all rights reserved.