private void WriteMessage(byte[] message)
{
MemoryStream ms = null;
using (ms = new MemoryStream())
{
ms.Position = 0;
BinaryWriter writer = new BinaryWriter(ms);
ushort msglen = (ushort)message.Length;
writer.Write(msglen);
writer.Write(message);
writer.Flush();
if (mTcpClient != null && mTcpClient.Connected)
{
byte[] payload = ms.ToArray();
mOutStream.BeginWrite(payload, 0, payload.Length, new AsyncCallback(OnWrite), null);
}
else
{
Debug.LogWarning("mTcpClient.connected----->>false");
}
}
}
/// <summary> /// 发送SOCKET消息 /// </summary> public void Send(int msgID, LuaByteBuffer buffer) { if (!IgnoreMsg(msgID)) //被忽略的消息不缓存,并不累加cid { cid++; CacheMsg(msgID, buffer.buffer); } Debug.Log(string.Format("<NetworkMgr> 发送协议: {0}, cid = {1}", msgID, cid)); _socket.WriteMessage(msgID, buffer.buffer, cid, sid); }