当前位置: 技术问答>java相关
网络传输的接收问题。急!急!急!!!!
来源: 互联网 发布时间:2015-01-22
本文导语: 网络在什么情况下,用x=in.read()会接收不到东西,然后程序就卡在这句话上? 是因为网络的速度问题还是我的程序问题?? 天拉!!我为这个问题已经快疯了。 在局域网上就比较好,可一放到公网上这个问题简直...
网络在什么情况下,用x=in.read()会接收不到东西,然后程序就卡在这句话上?
是因为网络的速度问题还是我的程序问题??
天拉!!我为这个问题已经快疯了。
在局域网上就比较好,可一放到公网上这个问题简直无法解决!!到底是为什么????
是因为网络的速度问题还是我的程序问题??
天拉!!我为这个问题已经快疯了。
在局域网上就比较好,可一放到公网上这个问题简直无法解决!!到底是为什么????
|
当前系统接受缓充区没有数据,read就阻塞了.没有办法.
lan速度快没有感觉.wan肯定不行.
你要开单独一个线程读,主线程不能用于读,得干其他事.多线程就解决了.jdk1.4之前只能用多线程解决.
lan速度快没有感觉.wan肯定不行.
你要开单独一个线程读,主线程不能用于读,得干其他事.多线程就解决了.jdk1.4之前只能用多线程解决.
|
网络产生堵塞等等特殊情况是很常见的,对于开发一个稳定的NET程序,设置Socket的超时是个十分简洁的方法:
Socket setSoTimeout
public void setSoTimeout(int timeout)
throws SocketException
如果timeout>0当,read()的时间超出timeout时,read()抛出 java.io.InterruptedIOException
Socket setSoTimeout
public void setSoTimeout(int timeout)
throws SocketException
如果timeout>0当,read()的时间超出timeout时,read()抛出 java.io.InterruptedIOException