Hi all,
I have n computers connected by Ethernet in a local network. (n-1) computers are clients and 1 of them is with the server role. The clients send some text messages to the other clients through the server (is just a logical star topology and the server is the central node) using the Ice middle-ware. Both clients and servers are implemented in Java on a Ubuntu machine.
Each 5 seconds, the server send a ping signal to each client to know if "there is somebody there". To do that the server stores the client's proxies in a hash table:
String[] clientIds = clients.keySet().toArray(new String[clients.size()]);
for (String clientId : clientIds)
{
try{
clients.get(clientId).ice_ping();
}
catch (TimeoutException ex)
{
// Do something
}
}
Everything works fine, but when i simulate a loss of connection (just disconnecting the cable) logically the ping produces a TimeoutException (i do not nothing relevant for the proxies inside the catch block) and after, when i connect again, there is no possible down-connection between the server to the client (the ice_ping always throw a TimeoutException). In this case the communication is always working between the client to the server, but it isn't in the opposite.
Could you give some help about this?
Thank you very much!!

Reply With Quote
.
