On Sat, Jul 31, 2010 at 6:48 AM, buginator <[email protected]> wrote:
...
> On another note, there is another issue, that has to do with TCP, and
> how it blocks.
> The fix for this isn't so easy, even setting all sockets to
> non-blocking, and use polling to determine if done won't solve all the
> blocking issues that can happen.
>
> I don't think newnet does anything different in this area either.
>
> We could spawn a thread for each player and have a main network
> handler event loop that queues everything up to prevent blocks, but
> this isn't easy to code, and would pretty much force us to enter beta
> mode again (2.4 beta 1 or ??).
> Other ideas is, use raknet, or switch to UDP, but those also force us
> to enter beta mode as well.
> Other options ?

Actually, newnet does do something different in this area.

Newnet writes from a separate thread, using polling to determine when
writing is possible. This was actually needed to be able to send
desynch logs without freezing.

Switching to UDP might make sense as a way to reduce bandwidth usage
(think UDP might have less overhead than TCP, not sure), but not as a
way to prevent blocking.

-Cyp

_______________________________________________
Warzone-dev mailing list
[email protected]
https://mail.gna.org/listinfo/warzone-dev

Reply via email to