socket.connect()
2 отговора
0 прегледа
socket.connect()
привет!
Таз значи ... правя си сокет и се връзвам. мога да пиша и чета...
...и всичко е наред.
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket socket = (SSLSocket) factory.createSocket(host, port);
Writer out = new OutputStreamWriter(socket.getOutputStream());
....
при този подход,ОБАЧЕ, таймаутът за свързване в безкрайност.
Ако го няма другия хост, е досадно...
Затова правя следното:
SSLSocket socket = (SSLSocket) factory.createSocket();
socket.connect(new InetSocketAddress(host, port), 5000 );
така указвам 5 секунди.
И при опит да пиша -
out.write("blqbnlqblqblqblq\r\n"), се получава:
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
Ако трябва да обобщя с една дума: ЕГАТИИИ !!!
Таз значи ... правя си сокет и се връзвам. мога да пиша и чета...
...и всичко е наред.
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket socket = (SSLSocket) factory.createSocket(host, port);
Writer out = new OutputStreamWriter(socket.getOutputStream());
....
при този подход,ОБАЧЕ, таймаутът за свързване в безкрайност.
Ако го няма другия хост, е досадно...
Затова правя следното:
SSLSocket socket = (SSLSocket) factory.createSocket();
socket.connect(new InetSocketAddress(host, port), 5000 );
така указвам 5 секунди.
И при опит да пиша -
out.write("blqbnlqblqblqblq\r\n"), се получава:
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
Ако трябва да обобщя с една дума: ЕГАТИИИ !!!
Re: socket.connect()
Защо не пробваш с:
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket socket = (SSLSocket) factory.createSocket(host, port);
socket.setSoTimeout(5000);
Writer out = new OutputStreamWriter(socket.getOutputStream());
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket socket = (SSLSocket) factory.createSocket(host, port);
socket.setSoTimeout(5000);
Writer out = new OutputStreamWriter(socket.getOutputStream());
Re: socket.connect()
това го пробвах. Има смисъл, ако вече съм се вързал и по време на четене или писане прекъсне.
Трябва да сетвам таймаут-а преди това, иначе оставам на
SSLSocket socket = (SSLSocket) factory.createSocket(host, port).
Трябва да сетвам таймаут-а преди това, иначе оставам на
SSLSocket socket = (SSLSocket) factory.createSocket(host, port).