Game Development Reference
In-Depth Information
- (void)sendNetworkPacketToPeerId:(MCPeerID*)peerId
forPacketCode:(NetworkPacketCode)packetCode
withData:(void *)data
ofLength:(NSInteger)length
reliable:(BOOL)reliable
{
// the packet we'll send is resued
static unsigned char
networkPacket[kMaxTankPacketSize];
const unsigned int packetHeaderSize = 2 *
sizeof(int);
// we have two "ints" for our header
if(length < (kMaxTankPacketSize -
packetHeaderSize))
{
// our networkPacket buffer size minus the size of
the header info
int *pIntData = (int *)&networkPacket[0];
// header info
pIntData[0] = self.gamePacketNumber++;
pIntData[1] = packetCode;
if (data) {
// copy data in after the header
memcpy( &networkPacket[packetHeaderSize],
data, length );
}
NSData *packet = [NSData dataWithBytes:
networkPacket length: (length+8)];
NSError* error;
if(reliable == YES)
{
[self.gameSession sendData:packet
toPeers:[NSArray arrayWithObject:peerId]
withMode:MCSessionSendDataReliableerror:&error];
}
else
Search WWH ::




Custom Search