/// <summary> /// 创建 Howell5198服务器对象 /// </summary> /// <param name="port">本地端口号</param> /// <param name="appInstance">协议逻辑实现</param> public Howell5198Server(Int32 port, IHowell5198ServerContract appInstance) { AliveInterval = 30; m_AppInstance = appInstance; m_Server = new FixedHeaderProtocolServer <ProtocolHeader>(port); m_Server.NewRequestReceived += new SuperSocket.SocketBase.RequestHandler <FixedHeaderProtocolSession <ProtocolHeader>, FixedHeaderPackageInfo <ProtocolHeader> >(m_Server_NewRequestReceived); m_Server.NewSessionConnected += new SuperSocket.SocketBase.SessionHandler <FixedHeaderProtocolSession <ProtocolHeader> >(m_Server_NewSessionConnected); m_Server.SessionClosed += new SuperSocket.SocketBase.SessionHandler <FixedHeaderProtocolSession <ProtocolHeader>, SuperSocket.SocketBase.CloseReason>(m_Server_SessionClosed); }
/// <summary> /// 创建 Howell5198服务器对象 /// </summary> /// <param name="port">本地端口号</param> /// <param name="appInstance">协议逻辑实现</param> /// <param name="maxConnectionNumber">最大连接客户端上限</param> /// <param name="ssl">是否启用SSL安全连接</param> /// <param name="certFilePath">证书路径</param> /// <param name="certPassword">证书密码</param> public Howell5198Server(Int32 port, IHowell5198ServerContract appInstance, int maxRequestLength, int maxConnectionNumber, bool ssl, string certFilePath, string certPassword, bool clientCertificateRequired) { AliveInterval = 30; m_AppInstance = appInstance; m_Server = new FixedHeaderProtocolServer <ProtocolHeader>(port, maxRequestLength, maxConnectionNumber, ssl, certFilePath, certPassword, clientCertificateRequired); m_Server.NewRequestReceived += new SuperSocket.SocketBase.RequestHandler <FixedHeaderProtocolSession <ProtocolHeader>, FixedHeaderPackageInfo <ProtocolHeader> >(m_Server_NewRequestReceived); m_Server.NewSessionConnected += new SuperSocket.SocketBase.SessionHandler <FixedHeaderProtocolSession <ProtocolHeader> >(m_Server_NewSessionConnected); m_Server.SessionClosed += new SuperSocket.SocketBase.SessionHandler <FixedHeaderProtocolSession <ProtocolHeader>, SuperSocket.SocketBase.CloseReason>(m_Server_SessionClosed); m_Server.ValidateSessionCertificate += new ValidateSessionCertificate <ProtocolHeader>(Server_ValidateSessionCertificate); }
/// <summary> /// /// </summary> /// <param name="disposing"></param> protected void Dispose(bool disposing) { if (disposing) { Stop(); if (m_Server != null) { m_Server.Dispose(); m_Server = null; } } }