示例#1
0
        /// <summary>
        /// 创建网络错误事件。
        /// </summary>
        /// <param name="networkChannel">网络频道。</param>
        /// <param name="errorCode">错误码。</param>
        /// <param name="socketErrorCode">Socket 错误码。</param>
        /// <param name="errorMessage">错误信息。</param>
        /// <returns>创建的网络错误事件。</returns>
        public static NetworkErrorEventArgs Create(INetworkChannel networkChannel, NetworkErrorCode errorCode, SocketError socketErrorCode, string errorMessage)
        {
            NetworkErrorEventArgs networkErrorEventArgs = ReferencePool.Acquire <NetworkErrorEventArgs>();

            networkErrorEventArgs.NetworkChannel  = networkChannel;
            networkErrorEventArgs.ErrorCode       = errorCode;
            networkErrorEventArgs.SocketErrorCode = socketErrorCode;
            networkErrorEventArgs.ErrorMessage    = errorMessage;
            return(networkErrorEventArgs);
        }
示例#2
0
 private void OnNetworkChannelError(NetworkChannelBase networkChannel, NetworkErrorCode errorCode, SocketError socketErrorCode, string errorMessage)
 {
     if (m_NetworkErrorEventHandler != null)
     {
         lock (m_NetworkErrorEventHandler)
         {
             NetworkErrorEventArgs networkErrorEventArgs = NetworkErrorEventArgs.Create(networkChannel, errorCode, socketErrorCode, errorMessage);
             m_NetworkErrorEventHandler(this, networkErrorEventArgs);
             ReferencePool.Release(networkErrorEventArgs);
         }
     }
 }