Hi guys, it's been a while... anyway, I have this really funny problem with my own mini-icq. If someone sends a message to the server that has to be broadcast to EACH user currently logged in, the user that has logged in LAST gets the packet in real time, but all other users receive it only when they do a timed routine userlist update, in which they send a packet to the server an it responds. And then, merged together with the userlist update comes the message that was supposed to come some time ago.

I have no problem splitting the merged stuff by using a common termination character, but I am very troubled by the packets reaching the clients with a delay of 10 seconds or so (of course depending on the time it takes for it to request a new userlist). Anyone had this probelm before? I of course could increase the interval of the userlist requests to 1 second but:

a) That would increase the load on the server unnecessarily, and
b) it would be a very "bubble-gummish" solution (if you know what I mean)

I've got some great help from here before, so thanks in advance for any tip you could give me...

PS. If I left out some important details (as I rather often do ), please let me know!



-JR-