请问是使用java.nio.channels.*吗?
如果是该用什么类处理流?
我以前用socket时是这样接收流的,
zipin=new ZipInputStream(incoming.getInputStream());
如果用SocketChannel怎么接收流?先谢了.
而将发送程序换为PB时,接收程序接收的数据不完整,尾部数据丢失.
因为发送程序要求尽量使用PB,PB本身无此功能,是调用pslib21.dll实现的.这个文件版本好象很旧,我怀疑是这版本不兼容的问题。
现在我发现win2000下有一个ws2_32.dll文件,好象现在实现socket都是用这个库文件.
请问大家有没有这方面的资料?先谢了.
2006-09-08 12:18 "@banq"的内容
使用NIO Socket, 普通Socket是堵塞性质的,发生堵塞就有可能丢包。 ...
在NIO中的Selector中,如果用一个Selector管理多个通道。那有没有可能出现系统由于来不及处理数据而导致数据丢失的问题。
2006-09-08 12:18 "@banq"的内容
使用NIO Socket, 普通Socket是堵塞性质的,发生堵塞就有可能丢包。 ...
1,为什么阻塞就会丢包
2,使用Selector处理多个通道的时候,也有可能会出现系统因为处理不及,导致有的数据丢失啊。selector.select这个方法是阻塞的啊。
TCP协议已经保证不丢包(堵塞丢了会重发),
丢包只说明socket的"粘包"、“半包”没处理好
[该贴被clonalman于2014-04-25 05:23修改过]