java socket怎么设置超时

packagecom.fanbin.data;importjava.io.DataOutputStream;importjava.io.IOException;impor... package com.fanbin.data;

import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

public class client_data {
final public static String url = "192.168.1.101";
final public static int port = 9995;

final public static int id_log_in = 1;

private Socket s;

public Socket Connects(int i) {
try {
s = new Socket(url, port);
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
dos.writeInt(i);
dos.flush();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return s;
}
}

客户端怎么设置连接超时
展开
 我来答
大家何必吵嘴哪
2014-06-19 · TA获得超过557个赞
知道答主
回答量:181
采纳率:50%
帮助的人:57.6万
展开全部
socket.setSoTimeout(int timeout);
恩。应该能实现你的要求

首先socket不是一个阻塞方法,它不会自动去连serverSocket,而是你connect一次它就去连一次,socket本身不存在什么连接server端超时,所以客户端的连接超时是由你的程序去控制的,比如用线程。

其次,恶意连接这个问题,其实我已经给你解决了,在server端拿到socket后,不就能用socket.setSoTimeout()来设置连接时间了么?
追问
。。。这是复制粘贴的吧 。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-10-09
展开全部
设置不了,,,,,,,,,但可以 自己使用线程来实现

~
~
~
~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a16a3f8
2015-12-31
知道答主
回答量:10
采纳率:0%
帮助的人:9997
展开全部
Socket client = new Socket();
client.connect(new InetSocketAddress(ip, port), time);
或者
Socket client = new Socket(ip, port);
client.setSoTimeout(time);
注:time的单位是毫秒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式