log.error(e);
}
try
{
Socket socket1 = new VirtualSocket();
SocketAddress address1 = new InetSocketAddress(basicBehaviorServerHost, basicBehaviorServerPort + 100);
is = testSocket.getInputStream();
os = testSocket.getOutputStream();
is.read();
try
{
socket1.connect(address1, 200);
fail();
}
catch (SocketTimeoutException e)
{
if (e.getMessage().equals("connect timed out"))
log.info("received expected timeout exception");
else
fail();
}
while (!socket1.isClosed())
{
try
{
Thread.sleep(500);
log.error("waiting...");
}
catch (InterruptedException ignored) {}
}
try
{
socket1.connect(address1, 2000);
fail();
}
catch (SocketException e)
{
if (e.getMessage().equals("Socket is closed"))
log.info("received expected exception");
else
{
log.error(e);
fail();
}
}
Socket socket2 = new VirtualSocket();
socket2.connect(address1, 20000);
socket1.close();
socket2.close();
new Thread ()
{
public void run()
{
MasterServerSocket mss;
try
{
mss = new MasterServerSocket(clientServerSocketPort + 101);
log.info(mss.toString() + ": MasterServerSocket accepting");
os.write(3);
Socket s = mss.accept();
log.info(mss.toString() + ": accepted");
s.close();
mss.close();
}
catch (IOException e)
{
log.error(e);
}
}
}.start();
os = testSocket.getOutputStream();
Socket socket3 = new VirtualSocket();
SocketAddress address2 = new InetSocketAddress(basicBehaviorServerHost, basicBehaviorServerPort + 101);
is.read();
try
{
log.info("connecting to: " + address2);
log.info("shareable: " + MultiplexingManager.checkForShareableManager((InetSocketAddress)address2));
socket3.connect(address2, 400);
fail();
}
catch (SocketTimeoutException e)
{
if (e.getMessage().equals("connect timed out"))
log.info("received expected timeout exception");
else
fail();
}
try
{
socket3.connect(address1, 200);
fail();
}
catch (SocketException e)
{
if (e.getMessage().equals("Socket is closed"))
log.info("received expected exception");
else
{
log.error(e);
fail();
}
}
VirtualSocket socket4 = new VirtualSocket();
socket4.connect(address2, 20000);
// socket4.connect(address2);
socket3.close();
socket4.close();
}
catch(Exception e)
{
log.error(e);
e.printStackTrace();