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); } }
public int Send(CSMsgC msg) { if (!sendQueue.Enqueue(msg)) { sendQueue.Clear(); sendQueue.Enqueue(msg); } return(0); }
public int Send(CSMsgC msg) { if (!sendQueue.Enqueue(msg)) { sendQueue.Clear(); sendQueue.Enqueue(msg); } return 0; }