I'm currently using Indy to communicate with TCP/IP devices. We have about 30000 devices and growing. We're getting to the point where the number of concurrent connections are too many too handle for a single Indy server instance. I have to start looking at load balancing but before I do that I want to have a look a asynchronous sockets.
In extreme cases we have about 3000 concurrent connections but Indy can't cope with that so we limit it to 1000 and queue the remainder. My system was designed in such a way that devices can communicate with each other through the TCP server. Whenever a device has information for another device, the information is placed in a thread list from where the other device will periodically check the thread list to see if there is any information for it. If there is any information for it, it will read it from the thread list and then write it to its socket. Coming from Indy, each socket is in its own thread and therefore its easy for a device to periodically check the thread list for new information. I also use the thread to determine the idle time of a socket and close the socket if its been idling for too long. ICS is more event driven and a like this but how do I go about checking the thread list periodically? I've been looking at a timer with a message pump but can't seem to get it working. Thanks in advance. MC -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be