Exemple #1
0
 private static void NatMessageHandler(SNatMessage natMessage)
 {
     if (OnNatMessage != null)
     {
         OnNatMessage(natMessage);
     }
 }
 private void Game_OnNatMessage(SNatMessage NatMessage)
 {
     IPAddress address;
     NetMessage message = new NetMessage();
     if (!IPAddress.TryParse(NatMessage.Address, out address))
     {
         address = Dns.GetHostEntry(NatMessage.Address).AddressList[0];
     }
     message.EndPoint = new IPEndPoint(address, NatMessage.Port);
     message.Buffer = NatMessage.Message;
     this.QueueMessage(message);
 }
 public SNatMessage NatMessageFromPtr(IntPtr natPtr)
 {
     SNatMessage message;
     SNatMessagePtr ptr = (SNatMessagePtr) Marshal.PtrToStructure(natPtr, typeof(SNatMessagePtr));
     message = new SNatMessage {
         Address = Marshal.PtrToStringAnsi(ptr.Address),
         Port = ptr.Port,
         MessageSize = ptr.MessageSize,
         Message = new byte[ptr.MessageSize]
     };
     Marshal.Copy(ptr.Message, message.Message, 0, message.MessageSize);
     return message;
 }