LocalNetworkGamer.ReceiveData Method (PacketReader, NetworkGamer)
Reads the next incoming packet and copies the packet data into the specified reader object.
Namespace: Microsoft.Xna.Framework.Net
Assembly: Microsoft.Xna.Framework (in microsoft.xna.framework.dll)
Syntax
public int ReceiveData (
PacketReader data,
out NetworkGamer sender
)
Parameters
- data
Network packet data. - sender
[OutAttribute] Gamer who sent this packet.
Return Value
Number of bytes read from the network packet. Returns 0 if no packet is available.
Exceptions
Exception type | Condition |
---|---|
ArgumentException | The specified array is too small to receive the incoming network packet. |
ArgumentNullException | data is null. |
Example
Be sure to call ReceiveData for all incoming data for all local gamers, even if the data is to be discarded. Any time data is sent to a local network gamer, the incoming data queue will grow until the data is read. If the data is not read using ReceiveData the performance of the application will degrade as the data queue grows in size.
foreach (LocalNetworkGamer gamer in session.LocalGamers)
{
// Keep reading while packets are available.
while (gamer.IsDataAvailable)
{
NetworkGamer sender;
// Read a single packet.
gamer.ReceiveData(packetReader, out sender);
// Discard the data, or use packetReader.Read* to process the data.
}
gamer.SendData(packetWriter, SendDataOptions.None);
}
Remarks
If several independent packets are available, only one will be returned on each call to ReceiveData.
See Also
Tasks
Reference
LocalNetworkGamer Class
LocalNetworkGamer Members
Microsoft.Xna.Framework.Net Namespace
Platforms
Xbox 360, Windows XP SP2, Windows Vista, Zune