예제 #1
0
 public void ReceiveUdp(int node, byte[] data)
 {
     if (IsConnected(node) == true)
     {
         while (sessionUdp.Receive(node, ref data) > 0)
         {
             Receive(node, data);
         }
     }
 }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        byte[] packet = new byte[m_packetSize];
        for (int id = 0; id < m_reliableNode.Length; ++id)
        {
            if (m_reliableNode[id] != null)
            {
                int node = m_reliableNode[id].node;
                if (IsConnected(node) == true)
                {
                    // 도달 보장 패킷 수신.
                    while (m_sessionTcp.Receive(node, ref packet) > 0)
                    {
                        // 수신 패킷 분류.
                        Receive(node, packet);
                    }
                }
            }
        }

        // 비도달 보장 패킷 수신.
        for (int id = 0; id < m_unreliableNode.Length; ++id)
        {
            if (m_unreliableNode[id] != null)
            {
                int node = m_unreliableNode[id].node;
                if (IsConnected(node) == true)
                {
                    // 도달 보장이 없는 패킷의 수신.
                    while (m_sessionUdp.Receive(node, ref packet) > 0)
                    {
                        // 수신 패킷 분류.
                        Receive(node, packet);
                    }
                }
            }
        }
    }