Re: Setting TCP parameters for Socket?
To partially answer my own question here, it appears that the initial
connection in the Socket constructor is sensitive to Thread.interrupt().
This strikes me as a somewhat hokey solution however. I'm still
hoping for something better.
private static void test2( String hostname, int port ) {
Thread t = new Thread( new ConnectTask( hostname, port ) );
try {
Thread.sleep( 1000 );
} catch(InterruptedException ex) {}
t.interrupt();
while( t.isAlive() ) {
try {
t.join();
} catch (InterruptedException ex ) {}
}
System.out.println("Thread finished. " + t );
}
private static class ConnectTask implements Runnable {
private final String hostname;
private final int port;
public ConnectTask(String hostname, int port) {
this.hostname = hostname;
this.port = port;
}
@Override
public void run() {
try {
Socket sock = new Socket( hostname, port );
System.out.println("created: "+sock);
} catch (IOException ex) {
System.err.println(ex);
throw new RuntimeException(ex);
}
}
}