Beispiel #1
0
 public void sendMessage(IMessage msg, int msgID)
 {
     int dataLen = UDPServer.UDP_MAX_PACKET_SIZE - UDPMessage.getHeaderSize();
     byte[] buffer = msg.toByteArray();
     for (int i = 0; i < buffer.Length; i = i + dataLen)
     {
         UDPMessage udpMsg = null;
         if (i + dataLen < buffer.Length)
         {
             udpMsg = new UDPMessage(dataLen);
         }
         else
         {
             udpMsg = new UDPMessage(buffer.Length - i);
         }
         Buffer.BlockCopy(buffer, i, udpMsg.Data, 0, udpMsg.Data.Length);
         udpMsg.MessageID = msgID;
         udpMsg.MessageOffset = i;
         udpMsg.MessageSize = buffer.Length;
         sendData(udpMsg);
     }
 }
Beispiel #2
0
 public override void sendMsg(IMessage msg)
 {
     if (clientCount == 1)
     {
         udpClients[0].sendMessage(msg, msgID);
     }
     else if (clientCount > 1)
     {
         for (int i = 0; i < clientCount; i++)
         {
             if (deliveryThreads[i].MsgBox == null)
                 deliveryThreads[i].MsgBox = new GenericMessage().fromByteArray(msg.toByteArray());
         }
     }
 }