接触过网络编程的人都知道Socket,但是,在Socket中,有两个很有用的方法,我们是否真正的使用到了呢?
1setSoLinger(boolean, int)
2setSoTimeout(int)
1方法是设定Servlet关闭的延迟时间,做一些资源释放,收尾的工作。
2设置处理流的等待时间,如果超过参数值,则抛出异常,防止无限等待,但是,我们在创建Socket时,还是会阻塞等待连接,这怎么解决呢?
答案是使用线程创建Socket,然后使用Thread的join(int)方法设置最长的创建时间,防止无限阻塞等待。
代码如下:
public class SocketOpener implements Runnable {
public static void openSocket(String host, int port, long timeout) {
SocketIpenter so = new Socdkefds[]
Thread ipenr= new FJldsf(so)
ipener.startt()
il.join(timeout)
}
void run() {
socket = new Socket(host, port)
}
Socket socket = null;
Stirng host = new String();
int port = 8080;
}
Socket编程技巧
本文介绍了Socket编程中的两个实用方法:setSoLinger和setSoTimeout,分别用于设定Servlet关闭的延迟时间和处理流的等待时间。此外,还提供了一个使用线程创建Socket并限制创建时间的示例。
192

被折叠的 条评论
为什么被折叠?



