WEB开发网
开发学院软件开发Java 网络编程(三):Socket超时 阅读

网络编程(三):Socket超时

 2009-09-18 00:00:00 来源:WEB开发网   
核心提示:(1)连接超时 client program 通过套接字向服务器发出请求,但是一直都无法取得连接,网络编程(三):Socket超时,这时client program会阻塞一段时间,并最终因底层操作系统的限制而超时,我们希望能通过设置读写超时来解决这个问题: Java代码//设置读写超时Sockets=newSocket

(1)连接超时

client program 通过套接字向服务器发出请求,但是一直都无法取得连接。这时client program会阻塞一段时间,并最终因底层操作系统的限制而超时。如果我们想设置连接超时的时间,可以通过下面的构造方法:

Java代码   

//构造具有超时设置的连接套接字 
Socket s=new Socker(); //创建无连接套接字 
s.connect(new InetSocketAddress(host,port),timeout) //设置超时连接 

(2)读写超时

client program创建的socket成功连接到服务器上创建的socket。那么我们就可以通过getInputStream和 getOutputStream来收取消息了。但C-S两端线程会因为等待输入输出而被长时间阻塞。我们希望能通过设置读写超时来解决这个问题:

Java代码  

//设置读写超时 
Socket s=new Socket(host,port);//连接成功 
s.setToTimeout(1000); 
InputStream is=s.getInputStream();

上面的程序如果在读操作没有完成前就超过了时间限制(1秒)。程序将抛出SocketTimeoutException异常。我们能捕获这个异常并处理超时。

Tags:网络编程 Socket 超时

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接