/// <summary> /// Construction /// </summary> /// <param name="socket">client socket</param> /// <param name="socketServer">the socket server</param> /// <param name="logger">logger object for ouput session message</param> internal UdpSocketAsyncSession(Socket socket, ISocketServer socketServer, IMsgProtocol protocol, IList<IMsgFilter> requestFilters, IList<IMsgHandler> requestHandlers, ILogger logger) : base(protocol, requestFilters, requestHandlers, logger) { SessionTimeout = (socketServer as UdpSocketAsyncServer).SessionTimeout; m_ClientSocket = socket; m_SocketServer = socketServer; m_Logger = logger; m_SocketAsyncSender = new UdpSocketAsyncSender(socket, socketServer); }
public void StartReceive(SocketAsyncEventArgs e, UdpSocketAsyncSender asyncSender = null, ConcurrentDictionary<string, UdpSocketAsyncBuffer> buffer = null) { bool isPeeding = m_ClientSocket.ReceiveFromAsync(e); if (!isPeeding) { ProcessReceive(e); } }