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;
}
}
客户端怎么设置连接超时 展开
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;
}
}
客户端怎么设置连接超时 展开
展开全部
socket.setSoTimeout(int timeout);
恩。应该能实现你的要求
首先socket不是一个阻塞方法,它不会自动去连serverSocket,而是你connect一次它就去连一次,socket本身不存在什么连接server端超时,所以客户端的连接超时是由你的程序去控制的,比如用线程。
其次,恶意连接这个问题,其实我已经给你解决了,在server端拿到socket后,不就能用socket.setSoTimeout()来设置连接时间了么?
恩。应该能实现你的要求
首先socket不是一个阻塞方法,它不会自动去连serverSocket,而是你connect一次它就去连一次,socket本身不存在什么连接server端超时,所以客户端的连接超时是由你的程序去控制的,比如用线程。
其次,恶意连接这个问题,其实我已经给你解决了,在server端拿到socket后,不就能用socket.setSoTimeout()来设置连接时间了么?
追问
。。。这是复制粘贴的吧 。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-10-09
展开全部
设置不了,,,,,,,,,但可以 自己使用线程来实现
~
~
~
~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
~
~
~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Socket client = new Socket();
client.connect(new InetSocketAddress(ip, port), time);
或者
Socket client = new Socket(ip, port);
client.setSoTimeout(time);
注:time的单位是毫秒
client.connect(new InetSocketAddress(ip, port), time);
或者
Socket client = new Socket(ip, port);
client.setSoTimeout(time);
注:time的单位是毫秒
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询