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
