本文整理了Java中java.net.Socket.setSoTimeout()
方法的一些代码示例,展示了Socket.setSoTimeout()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Socket.setSoTimeout()
方法的具体详情如下:
包路径:java.net.Socket
类名称:Socket
方法名:setSoTimeout
[英]Sets this socket's SocketOptions#SO_TIMEOUT in milliseconds. Use 0 for no timeout. To take effect, this option must be set before the blocking method was called.
[中]设置此套接字的SocketOptions#SO_超时(毫秒)。使用0表示无超时。要生效,必须在调用阻塞方法之前设置此选项。
代码示例来源:origin: hierynomus/sshj
void onConnect() throws IOException {
socket.setSoTimeout(timeout);
input = socket.getInputStream();
output = socket.getOutputStream();
}
代码示例来源:origin: alibaba/canal
public static BioSocketChannel open(SocketAddress address) throws Exception {
Socket socket = new Socket();
socket.setSoTimeout(BioSocketChannel.SO_TIMEOUT);
socket.setTcpNoDelay(true);
socket.setKeepAlive(true);
socket.setReuseAddress(true);
socket.connect(address, BioSocketChannel.DEFAULT_CONNECT_TIMEOUT);
return new BioSocketChannel(socket);
}
代码示例来源:origin: oldmanpushcart/greys-anatomy
/**
* 激活网络
*/
private Socket connect(InetSocketAddress address) throws IOException {
final Socket socket = new Socket();
socket.setSoTimeout(0);
socket.connect(address, _1MIN);
socket.setKeepAlive(true);
socketWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
socketReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
return socket;
}
代码示例来源:origin: runelite/runelite
private static int tcpPing(World world) throws IOException
{
try (Socket socket = new Socket())
{
socket.setSoTimeout(TIMEOUT);
InetAddress inetAddress = InetAddress.getByName(world.getAddress());
long start = System.nanoTime();
socket.connect(new InetSocketAddress(inetAddress, PORT));
long end = System.nanoTime();
return (int) ((end - start) / 1000000L);
}
}
}
代码示例来源:origin: apache/nifi
private SocketChannel createChannel() throws IOException {
final SocketChannel socketChannel = SocketChannel.open();
try {
socketChannel.configureBlocking(true);
final Socket socket = socketChannel.socket();
socket.setSoTimeout(timeoutMillis);
socket.connect(new InetSocketAddress(nodeIdentifier.getLoadBalanceAddress(), nodeIdentifier.getLoadBalancePort()));
socket.setSoTimeout(timeoutMillis);
return socketChannel;
} catch (final Exception e) {
try {
socketChannel.close();
} catch (final Exception closeException) {
e.addSuppressed(closeException);
}
throw e;
}
}
代码示例来源:origin: NanoHttpd/nanohttpd
@Override
public void run() {
try {
httpd.getMyServerSocket().bind(httpd.hostname != null ? new InetSocketAddress(httpd.hostname, httpd.myPort) : new InetSocketAddress(httpd.myPort));
hasBinded = true;
} catch (IOException e) {
this.bindException = e;
return;
}
do {
try {
final Socket finalAccept = httpd.getMyServerSocket().accept();
if (this.timeout > 0) {
finalAccept.setSoTimeout(this.timeout);
}
final InputStream inputStream = finalAccept.getInputStream();
httpd.asyncRunner.exec(httpd.createClientHandler(finalAccept, inputStream));
} catch (IOException e) {
NanoHTTPD.LOG.log(Level.FINE, "Communication with the client broken", e);
}
} while (!httpd.getMyServerSocket().isClosed());
}
代码示例来源:origin: libgdx/libgdx
public RemoteSender (String ip, int port) {
try {
Socket socket = new Socket(ip, port);
socket.setTcpNoDelay(true);
socket.setSoTimeout(3000);
out = new DataOutputStream(socket.getOutputStream());
out.writeBoolean(Gdx.input.isPeripheralAvailable(Peripheral.MultitouchScreen));
connected = true;
Gdx.input.setInputProcessor(this);
} catch (Exception e) {
Gdx.app.log("RemoteSender", "couldn't connect to " + ip + ":" + port);
}
}
代码示例来源:origin: rapidoid/rapidoid
private static <T> T connectNoSSL(String address, int port, int timeout, F3<T, InputStream, BufferedReader, DataOutputStream> protocol) {
T resp;
try (Socket socket = new Socket(address, port)) {
socket.setSoTimeout(timeout);
resp = communicate(protocol, socket);
socket.close();
} catch (Exception e) {
throw U.rte(e);
}
return resp;
}
代码示例来源:origin: apache/zookeeper
bufferedOutput = new BufferedOutputStream(sock.getOutputStream());
oa = BinaryOutputArchive.getArchive(bufferedOutput);
sock.setSoTimeout(learnerMaster.syncTimeout());
sock.close();
} catch(IOException ie) {
代码示例来源:origin: apache/zookeeper
s.setSoTimeout(self.tickTime * self.initLimit);
s.setTcpNoDelay(nodelay);
s.getInputStream());
LearnerHandler fh = new LearnerHandler(s, is, Leader.this);
fh.start();
s.close();
} catch (IOException e) {
LOG.warn("Error closing socket", e);
代码示例来源:origin: jenkinsci/jenkins
/**
* Initiates the shuts down of the listener.
*/
public void shutdown() {
shuttingDown = true;
try {
SocketAddress localAddress = serverSocket.getLocalAddress();
if (localAddress instanceof InetSocketAddress) {
InetSocketAddress address = (InetSocketAddress) localAddress;
Socket client = new Socket(address.getHostName(), address.getPort());
client.setSoTimeout(1000); // waking the acceptor loop should be quick
new PingAgentProtocol().connect(client);
}
} catch (IOException e) {
LOGGER.log(Level.FINE, "Failed to send Ping to wake acceptor loop", e);
}
try {
serverSocket.close();
} catch (IOException e) {
LOGGER.log(Level.WARNING, "Failed to close down TCP port",e);
}
}
代码示例来源:origin: apache/geode
private CommunicationMode getCommunicationModeForNonSelector(Socket socket) throws IOException {
socket.setSoTimeout(0);
this.socketCreator.handshakeIfSocketIsSSL(socket, this.acceptTimeout);
byte communicationModeByte = (byte) socket.getInputStream().read();
if (communicationModeByte == -1) {
throw new EOFException();
}
return CommunicationMode.fromModeNumber(communicationModeByte);
}
代码示例来源:origin: apache/zookeeper
public static void dump(String host, int port) {
Socket s = null;
try {
byte[] reqBytes = new byte[4];
ByteBuffer req = ByteBuffer.wrap(reqBytes);
req.putInt(ByteBuffer.wrap("dump".getBytes()).getInt());
s = new Socket();
s.setSoLinger(false, 10);
s.setSoTimeout(20000);
s.connect(new InetSocketAddress(host, port));
InputStream is = s.getInputStream();
OutputStream os = s.getOutputStream();
os.write(reqBytes);
byte[] resBytes = new byte[1024];
int rc = is.read(resBytes);
String retv = new String(resBytes);
System.out.println("rc=" + rc + " retv=" + retv);
} catch (IOException e) {
LOG.warn("Unexpected exception", e);
} finally {
if (s != null) {
try {
s.close();
} catch (IOException e) {
LOG.warn("Unexpected exception", e);
}
}
}
}
代码示例来源:origin: elastic/elasticsearch-hadoop
public Socket createSocket(final String host, final int port, final InetAddress localAddress, final int localPort, final HttpConnectionParams params)
throws IOException, UnknownHostException, ConnectTimeoutException {
InetSocketAddress socksAddr = new InetSocketAddress(socksHost, socksPort);
Proxy proxy = new Proxy(Proxy.Type.SOCKS, socksAddr);
int timeout = params.getConnectionTimeout();
Socket socket = new Socket(proxy);
socket.setSoTimeout(timeout);
SocketAddress localaddr = new InetSocketAddress(localAddress, localPort);
SocketAddress remoteaddr = new InetSocketAddress(host, port);
socket.bind(localaddr);
socket.connect(remoteaddr, timeout);
return socket;
}
代码示例来源:origin: k9mail/k-9
private void performStartTlsUpgrade(TrustedSocketFactory trustedSocketFactory,
String host, int port, String clientCertificateAlias)
throws MessagingException, NoSuchAlgorithmException, KeyManagementException, IOException {
if (capabilities.stls) {
executeSimpleCommand(STLS_COMMAND);
socket = trustedSocketFactory.createSocket(
socket,
host,
port,
clientCertificateAlias);
socket.setSoTimeout(RemoteStore.SOCKET_READ_TIMEOUT);
in = new BufferedInputStream(socket.getInputStream(), 1024);
out = new BufferedOutputStream(socket.getOutputStream(), 512);
if (!isOpen()) {
throw new MessagingException("Unable to connect socket");
}
capabilities = getCapabilities();
} else {
throw new CertificateValidationException(
"STARTTLS connection security not available");
}
}
代码示例来源:origin: stackoverflow.com
InetSocketAddress remoteAddress = new InetSocketAddress(host, port);
SSLSocket sslsock = (SSLSocket) ((sock != null) ? sock : createSocket());
InetSocketAddress isa = new InetSocketAddress(localAddress, localPort);
sslsock.bind(isa);
sslsock.connect(remoteAddress, connTimeout);
sslsock.setSoTimeout(soTimeout);
return sslsock;
代码示例来源:origin: libgdx/libgdx
public RemoteSender (String ip, int port) {
try {
Socket socket = new Socket(ip, port);
socket.setTcpNoDelay(true);
socket.setSoTimeout(3000);
out = new DataOutputStream(socket.getOutputStream());
out.writeBoolean(Gdx.input.isPeripheralAvailable(Peripheral.MultitouchScreen));
connected = true;
Gdx.input.setInputProcessor(this);
} catch (Exception e) {
Gdx.app.log("RemoteSender", "couldn't connect to " + ip + ":" + port);
}
}
代码示例来源:origin: org.apache.zookeeper/zookeeper
bufferedOutput = new BufferedOutputStream(sock.getOutputStream());
oa = BinaryOutputArchive.getArchive(bufferedOutput);
sock.setSoTimeout(leader.self.tickTime * leader.self.syncLimit);
sock.close();
} catch(IOException ie) {
代码示例来源:origin: apache/zookeeper
private Socket createSocket() throws X509Exception, IOException {
Socket sock;
if (self.isSslQuorum()) {
sock = self.getX509Util().createSSLSocket();
} else {
sock = new Socket();
}
sock.setSoTimeout(self.tickTime * self.initLimit);
return sock;
}
代码示例来源:origin: apache/zookeeper
public void run() {
ServerSocket ss;
synchronized(this) {
ss = this.ss;
}
while (listenerRunning) {
try {
Socket s = ss.accept();
// start with the initLimit, once the ack is processed
// in LearnerHandler switch to the syncLimit
s.setSoTimeout(self.tickTime * self.initLimit);
BufferedInputStream is = new BufferedInputStream(s.getInputStream());
LearnerHandler lh = new LearnerHandler(s, is, this);
lh.start();
} catch (Exception e) {
if (listenerRunning) {
LOG.debug("Ignoring accept exception (maybe shutting down)", e);
} else {
LOG.debug("Ignoring accept exception (maybe client closed)", e);
}
}
}
/*
* we don't need to close ss because we only got here because listenerRunning is
* false and that is set and then ss is closed() in stop()
*/
}
内容来源于网络,如有侵权,请联系作者删除!