예제 #1
0
        /// <summary>
        /// 发送Lua消息
        /// </summary>
        /// <param name="idMsg"></param>
        /// <param name="stream"></param>
        public virtual void SendLuaProtoMsg(int idMsg, MemoryStream stream)
        {
            if (isDisposed)
            {
                return;             // default(MsgSaving);
            }
            int sumLen = (int)stream.Length + 2;

            if (sumLen > 65536)
            {
                throw new Exception("Message Length is too large");
            }

            var msgSave = new MsgSaving((ProtoID)idMsg, stream, ClientSn);

            if (!ClientNetwork.Instance.IsConnected())
            {
                Utils.LogSys.Log("开始连接服务器");
                // 仍未连接,先连接服务器,在连接成功后发送
                // 先保存,确认成功发送后删除
                ClientNetwork.Instance.ReconnectWithoutAsk(false);
            }
            else if (ClientNetwork.Instance.IsConnected())
            {
#if UNITY_EDITOR
                Utils.LogSys.Log("Send " + idMsg + " proto. ulSn: " + msgSave.Sn);
#endif
                SendSavingMsg(msgSave);
            }

            //return msgSave;
        }
예제 #2
0
        //加密
        public void SendSavingMsg(MsgSaving save)
        {
            if (isDisposed)
            {
                return;
            }

            // 先保存,确认成功发送后删除
            ClientNetwork.Instance.SendStreamMsg(save.GetStreamToSend(_encryptKey));
        }
예제 #3
0
 //发送前进行加密
 public void SendSavingMsg(MsgSaving save)
 {
     clientProtoMsg.SendSavingMsg(save);
 }