I am a bit puzzled by how Ice behaves when it is idle. For this particular problem I have also read a bit on ACM, but I am not sure if that is what I want it to do.
I have a server in Ice, and several clients connecting to it. So far I understand that the connections are non-persistent, i.e. client connects, does a request, and then it disconnects. Correct me if I am wrong. The clients will be sending a heartbeat to the server every few seconds to tell the server it is still there. The server will then accept the heartbeat and keep track of the last heartbeat timestamp.
Now, what I'd like to do, is for the server to periodically, say, in its idle time, check in its table of client connections if a client has not been heartbeating for a certain amount of seconds. When that threshold has been passed, the client is regarded as disconnected.
I know there is a ConnectionIdleTime property in Ice, but I'm not sure what the impact is. 'Cause I want the server to take some action when a client disconnects, i.e. remove the client ID from the list of connected clients, and remove the pending messages for that client from the Messages database. I want to be able to do that kind of thing. Can anybody give me directions as to how to do this?
Thanks in advance.

Reply With Quote