Пример #1
0
    void SendThread()
    {
        byte[] buffer   = new byte[4096];
        int    usedSize = 0;

        while (!terminate)
        {
            try
            {
                CSMsgC msg = sendQueue.Dequeue();

                if (null != msg)
                {
                    TdrError.ErrorType error = msg.pack(ref buffer, ref usedSize);
                    if (TdrError.ErrorType.TDR_NO_ERROR == error)
                    {
                        int ret = udpClient.Send(buffer, usedSize);
                    }
                    else
                    {
                        Debug.LogError("[NetworkUdp.SendThread] pack message failed.");
                    }
                }
            }
            catch (System.Exception e)
            {
                Debug.LogError("[NetworkUdp.SendThread] send exception: " + e.Message);
            }

            Thread.Sleep(1);
        }
    }
Пример #2
0
    public int Send(CSMsgC msg)
    {
        if (!sendQueue.Enqueue(msg))
        {
            sendQueue.Clear();
            sendQueue.Enqueue(msg);
        }

        return(0);
    }
Пример #3
0
    public int Send(CSMsgC msg)
    {
        if (!sendQueue.Enqueue(msg))
        {
            sendQueue.Clear();
            sendQueue.Enqueue(msg);
        }

        return 0;
    }