/// <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); }
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); } } }