Hi, I just wanted to ask this in order to learn a little more about the XNA internals.
I see that some NetworkSession method, like NetworkSession.BeginFind, are implemented asynchronously. That is perfect, since these methods may take a long time to complete. I also see that the NetworkSession class exposes some events that you can subscribe to, like GamerLeft.
Honestly, I was expecting this class to expose an event to asynchronously handle the receiving of data. Or maybe BeginReceive and EndReceive methods simliar to those found on System.Net.Sockets
Having to constantly call networkSession.Update() and then do something like while (gamer.IsDataAvailable) to parse the receiving packets makes me wonder if that is the proper way to implement network communications on videogames. Surely the XNA team will have a reason, and I am very curious about it.
I also wonder about the SendDataOptions enum. used on LocalNetworkGamer.SendData . When using the Reliable or ReliableInOrder option, does the game halts execution to wait for the packet to be delivered?
Thanks in advance for any information provided