Example #1
0
 public void OnData(int outHostId, int outConnectionId, int outChannelId, byte[] buffer, int receivedSize, NetworkError error)
 {
     Debug.Log("Entry OnData");
     if (isHead)
     {
         isHead = false;
         string[] s = NetWorkAdapter.splitString(buffer);
         Debug.Log("Entry isHead info=" + NetWorkAdapter.GetString(buffer) + " bufferLength=" + this.buffer);
         this.buffer    = new byte[int.Parse(s[1])];
         receiveMsgType = int.Parse(s[0]);
         adapter.connectionClient[outConnectionId].setMessageType(receiveMsgType);
         Debug.Log("connectionClient[outConnectionId].receiveMsgType=" + receiveMsgType + "isHead=" + isHead);
         return;
     }
     Debug.Log("Entry Receiver");
     isHead = true;
     if (receiveMsgType == msgType.testMessage)
     {
         Debug.Log("Receive test message=" + NetWorkAdapter.GetString(buffer));
         this.buffer = new byte[100];
         return;
     }
     receiveDataHandel(outConnectionId, buffer, receivedSize, receiveMsgType);
 }
Example #2
0
    private void OnData(int outHostId, int outConnectionId, int outChannelId, ref byte[] buffer, int receivedSize, NetworkError error)
    {
        Debug.Log("Entry OnData receive size=" + buffer.Length + "receivedSize" + receivedSize);

        if (isHaed)
        {
            byte[] reallyBytes = new byte[receivedSize];
            Array.Copy(buffer, 0, reallyBytes, 0, receivedSize);
            Debug.Log("!= HEAD?" + GetString(reallyBytes) + "!= HEAD?");
            string[] s = splitString(reallyBytes);
            //  Debug.Log("s[2]=" + s[2] +"!= HEAD?");
            //   if (s[2] != "HEAD")
            //       return;
            isHaed      = false;
            GetSize     = int.Parse(s[1]);
            this.buffer = new byte[GetSize];
            //  if (GetSize>1024)
            //     tmpReceive = new byte[(GetSize / 1024) + 1][];
            //connectionClient[outConnectionId].setHead(false);
            receiveMsgType = int.Parse(s[0]);
            Debug.Log("receiveMsgType" + receiveMsgType);
            //   connectionClient[outConnectionId].setMessageType(receiveMsgType);
            Debug.Log("GetSize=" + GetSize);
            return;
        }
        Debug.Log("Entry Receiver");
        if (receiveMsgType == msgType.testMessage)
        {
            Debug.Log("Receive test message=" + NetWorkAdapter.GetString(buffer));
            isHaed = true;
            return;
        }

        /*
         * if (conuter< (GetSize / 1024)+1&&GetSize>1024)
         * {
         *
         *   tmpReceive[conuter] = buffer;
         *   conuter++;
         *   if(conuter== (GetSize / 1024) + 1)
         *   {
         *       isHaed = true;
         *       conuter = 0;
         *       byte[] wholeMessage = combineBytes(tmpReceive, GetSize);
         *       if (receiveMsgType == msgType.testMessage)
         *       {
         *           Debug.Log("Receive test message=" + NetWorkAdapter.GetString(wholeMessage));
         *           return;
         *       }
         *       Receiver(outConnectionId, wholeMessage, receivedSize, receiveMsgType);
         *
         *   }
         *   return;
         *   // GetSize -= conuter * 1024;
         * }
         *
         *   if (receiveMsgType == msgType.testMessage)
         *   {
         *       Debug.Log("Receive test message=" + NetWorkAdapter.GetString(buffer));
         *       isHaed = true;
         *       return;
         *   }   */
        Receiver(outConnectionId, buffer, receivedSize, receiveMsgType);
        isHaed = true;
        buffer = new byte[50];
    }