2201
Multiplayer / Re: Performance improvement for Glest multiplayer... 4 player is now practical
« on: 22 January 2010, 20:34:18 »
Ok I believe the problem is an existing oversight in the networking code (in otherwords there are cases where clients / servers would have major problems if the network connection was sluggish).
I will send another patch perhaps tonight where the socket code checks for EGAIN when sending / receiving socket data AND also checks for a disconnect. The existing code doesn't properly check to see if a socket has disconnected in some cases, so I'll add that in too. This update will ALSO include code for doing file synch checks and downloading content..BUT the file synch etc.. code won't be enabled since its not ready yet and I cannot back out those changes at this point since I have made lots of infrastructure changes.
Once I have sent the patch you will see in the console and/or log output info messages when/if the suspected EAGAIN socket state is detected and the code will try to cover by re-trying the socket send or receive action for a max of 5 seconds.
Thanks
I will send another patch perhaps tonight where the socket code checks for EGAIN when sending / receiving socket data AND also checks for a disconnect. The existing code doesn't properly check to see if a socket has disconnected in some cases, so I'll add that in too. This update will ALSO include code for doing file synch checks and downloading content..BUT the file synch etc.. code won't be enabled since its not ready yet and I cannot back out those changes at this point since I have made lots of infrastructure changes.
Once I have sent the patch you will see in the console and/or log output info messages when/if the suspected EAGAIN socket state is detected and the code will try to cover by re-trying the socket send or receive action for a max of 5 seconds.
Thanks
