论坛首页 Java企业应用论坛

WEB服务器工作机制由浅至深(1):多线程模拟服务器并防止阻塞

浏览 5767 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-03-29  
还有  为什么不能用 available()啊?
我见有的资料书上讲服务器用这个方法比我用的猛多了。。。
我是无可奈何了只好稍微用了一下
0 请登录后投票
   发表时间:2011-04-20  
真的不知道改投什么贴好呢?新手?良好?
你的分享精神不错,但是哪些错误都是没有自己研读API惹的祸。。
投什么帖,LZ自己说吧。。
0 请登录后投票
   发表时间:2011-04-28  
uin57 写道
真的不知道改投什么贴好呢?新手?良好?
你的分享精神不错,但是哪些错误都是没有自己研读API惹的祸。。
投什么帖,LZ自己说吧。。

 
确实不够深入、但是java.io那一块对于Socket I/O阻塞机制确实不好办的
java.nio又没深入学习过。还算是不太了解吧
0 请登录后投票
   发表时间:2011-06-03  
avgguy 写道
1. Socket/ServerSocket 本来就是阻塞的,java.nio 才是非阻塞的。你非要将 A 搞成 B 的话,总有点差强人意。
2. 在网络流操作的时候,是不建议使用 available() 的。

为什么不用available(),你以为网络真的是在网线上实时的动态数据流吗!
应该不是,如果大量的数据流,还是会临时的存在硬盘上,然后才开启一个流给用户级程序使用,这些应该是操作系统暗地里做的。
0 请登录后投票
   发表时间:2011-06-03  
avgguy,说不建议用available()是因为数据是动态的,后续还有数据,用available得不到正确的值。
其实这种想法是不正的,因为用户程序不会直接跟网络打交道的,如果用户级程序自己能搞到网络流,那这个写程序的是不是要把TCP/IP也实现了!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics