예제 #1
0
        /// <summary>
        /// 处理超时消息
        /// </summary>
        /// <param name="ksbModel"></param>
        internal void HandleTimeOutMessage(KevMessageBoxModel ksbModel)
        {
            if (ksbModel == null || ksbModel.SocketModel == null || ksbModel.IP == null)
            {
                return;
            }

            IUDPClientDelegate del = GetDelegate(ksbModel.SocketModel.MessageType);

            if (del != null)
            {
                del.HandleTimeoutMessage(ksbModel);
            }
        }
예제 #2
0
        /// <summary>
        /// 处理响应消息
        /// </summary>
        /// <param name="ksModel"></param>
        /// <param name="uModel"></param>
        /// <returns></returns>
        public int HandleResponseMessage(KevSocketModel ksModel, UDPModel uModel)
        {
            int result_code = ResponseCode.Success;

            do
            {
                if (ksModel == null)
                {
                    result_code = ResponseCode.NotFindKevSocketModel;
                    break;
                }

                IUDPClientDelegate del = GetDelegate(ksModel.MessageType);
                if (del == null)
                {
                    result_code = ResponseCode.NotRegisteredType;
                    break;
                }

                result_code = del.HandleResponseMessage(uModel);
            } while (false);

            return(result_code);
        }
예제 #3
0
 /// <summary>
 /// 设置代理
 /// </summary>
 /// <param name="del"></param>
 public void SetDelegate(IUDPClientDelegate del)
 {
     delegates.TryAdd(del.GetType(), del);
 }