public void DispatchError(NetErrorCode errcode)
 {
     if (errorListener != null)
     {
         errorListener(pid, errcode);
     }
 }
Exemple #2
0
 private void OnHeartBeatError(NetErrorCode code)
 {
     if (code == NetErrorCode.Timeout)
     {
         Stop();
         onTimeout.Invoke();
     }
 }
Exemple #3
0
        private void OnLoginErr(NetErrorCode errcode)
        {
            Debuger.LogError("ErrCode:{0}", errcode);

            CloseConnect();

            if (errcode == NetErrorCode.Timeout)
            {
                GlobalEvent.onLoginFailed.Invoke((int)errcode, "登录超时");
            }
            else
            {
                GlobalEvent.onLoginFailed.Invoke((int)errcode, "系统原因");
            }
        }
    /// <summary>
    /// Handle message.
    /// </summary>
    /// <param name="reader">Reader of parameters</param>
    protected override void OnHandleMessage(NetDataReader reader)
    {
        NetErrorCode errorCode = (NetErrorCode)reader.GetByte();

        if (errorCode == NetErrorCode.SessionConnectedFailed)
        {
            Debug.Log("Session connected failed");
            return;
        }

        int unitCount = reader.GetInt();

        for (int i = 0; i < unitCount; i++)
        {
            UnitData unitData = MessageSerializerService.DeserializeObjectOfType <UnitData>(reader.GetString());

            UnitController newUnit = ((GameObject)Instantiate(Resources.Load("Objects/Player"),
                                                              new Vector3(unitData.PositionData.X, unitData.PositionData.Y, unitData.PositionData.Z),
                                                              Quaternion.identity)).GetComponent <UnitController>();

            NetObject netObject = newUnit.gameObject.GetComponent <NetObject>();
            netObject.Id     = unitData.UnitId;
            netObject.IsMine = true;

            newUnit.Health       = unitData.Health;
            newUnit.MoveSpeed    = unitData.MoveSpeed;
            newUnit.MinDamage    = unitData.MinDamage;
            newUnit.MaxDamage    = unitData.MaxDamage;
            newUnit.AttackRadius = unitData.AttackRadius;

            ClientNetEventListener.Instance.NetObjects.Add(unitData.UnitId, netObject);
            BattleManager.Instance.PlayerUnits.Add(i, newUnit);
        }

        BattleManager.Instance.JoinSessionSuccess();
    }
Exemple #5
0
 public NetError(NetErrorCode errorCode, string errorMessage)
 {
     this.errorCode    = errorCode;
     this.errorMessage = errorMessage;
 }
 // 处理错误,错误码为SocketCustomErrorCode
 // 如果eErrorCode 为 SocketCustomErrorCode.SystemCode 则nSysErrorCode有意义,表示系统Socket的错误
 // extraInfo一般为调试输出信息
 abstract public void OnError(USocket us, NetErrorCode eErrorCode, int nSysErrorCode = -1, string extraInfo = "");
 public ParameterObject(Dictionary <NetParameterCode, object> parameters, NetErrorCode errorCode)
 {
     _parameters = parameters;
     _errorCode  = errorCode;
 }
Exemple #8
0
 internal override void ClearConnect(NetErrorCode errorCode)
 {
 }
 public INetError Create(NetErrorCode code, string message)
 {
     return(Create(code.ToString(), message));
 }
 public override void FromNetMsg(NetIncomingMessage netMsg)
 {
     m_loginResult = (NetErrorCode)netMsg.ReadByte();
 }
 public static void ToNetMsg(NetErrorCode code, ref NetOutgoingMessage netMsg)
 {
     netMsg.Write((byte)NetDataType.eDATA_LOGIN_RESULT);
     netMsg.Write((byte)code);
 }
Exemple #12
0
 /// <summary>
 /// 网络错误
 /// </summary>
 private void ThrowException(NetErrorCode code)
 {
     throwQueue.Enqueue(code);
 }
Exemple #13
0
 /// <summary>
 /// 清空连接
 /// </summary>
 internal override void ClearConnect(NetErrorCode errorCode)
 {
     DisConnect();
     State = EConnetState.EClosed;
     Throw?.Invoke(errorCode);
 }
Exemple #14
0
 /// <summary>
 /// 清理连接
 /// </summary>
 internal abstract void ClearConnect(NetErrorCode errorCode);
 override public void OnError(USocket us, NetErrorCode eCode, int nSysErrorCode = -1, string err = "")
 {
     Debug.Log("<color=green>[log]KKBaseListener</color>---" + "OnError:" + eCode + ":" + nSysErrorCode + "->" + err);
     //MessageQueueHandler.PushError("On OnError " + nErrorCode + ":" + err);
 }
 public void OnClosed(NetErrorCode errorCode)
 {
     _onConnect = false;
 }
Exemple #17
0
        internal static void ReturnErrorMessage(Socket socket, IPEndPoint remoteEndPoint, NetErrorCode errcode, string errinfo = "")
        {
            NetErrorMessage msg = new NetErrorMessage();

            msg.code = (int)errcode;
            msg.info = errinfo;

            NetMessage msgobj = new NetMessage();

            msgobj.head.index    = 0;
            msgobj.head.cmd      = 0;
            msgobj.head.token    = 0;
            msgobj.head.sid      = 0;
            msgobj.content       = PBSerializer.NSerialize(msg);
            msgobj.head.dataSize = (uint)msgobj.content.Length;

            NetBuffer bufferSend = new NetBuffer(new byte[msgobj.Length]);

            msgobj.Serialize(bufferSend);
            socket.SendTo(bufferSend.GetBytes(), remoteEndPoint);
        }