/// <summary> /// Initialize a new SSPServer /// </summary> /// <param name="serverProperties">The properties for the server</param> public SSPServer(ServerProperties serverProperties) { if (serverProperties == null) { throw new ArgumentNullException("serverProperties"); } this.serverProperties = serverProperties; this.Clients = new SortedList <decimal, SSPClient>(); this.randomDecimal = new RandomDecimal(DateTime.Now.Millisecond); SysLogger.Log("Starting server", SysLogType.Debug); this.ClientAcceptProcessor4 = new ClientAcceptProcessor(); this.ClientAcceptProcessor6 = new ClientAcceptProcessor(); //start the server for IPv4 this.TcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); this.TcpServer.Bind(new IPEndPoint(IPAddress.Parse(serverProperties.ListenIp), serverProperties.ListenPort)); this.TcpServer.Listen(100); this.TcpServer.BeginAccept(AcceptClientCallback, null); if (serverProperties.UseIPv4AndIPv6) { //start the server for IPv6 this.TcpServer6 = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp); this.TcpServer6.Bind(new IPEndPoint(IPAddress.Parse(serverProperties.ListenIp6), serverProperties.ListenPort)); this.TcpServer6.Listen(100); this.TcpServer6.BeginAccept(AcceptClient6Callback, null); } SysLogger.Log("Started server", SysLogType.Debug); }
/// <summary> /// Initialize a new SSPServer /// </summary> /// <param name="serverProperties">The properties for the server</param> public SSPServer(ServerProperties serverProperties) { if (serverProperties == null) throw new ArgumentNullException("serverProperties"); this.serverProperties = serverProperties; this.Clients = new SortedList<decimal, SSPClient>(); this.randomDecimal = new RandomDecimal(DateTime.Now.Millisecond); SysLogger.Log("Starting server", SysLogType.Debug); this.ClientAcceptProcessor4 = new ClientAcceptProcessor(); this.ClientAcceptProcessor6 = new ClientAcceptProcessor(); //start the server for IPv4 this.TcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); this.TcpServer.Bind(new IPEndPoint(IPAddress.Parse(serverProperties.ListenIp), serverProperties.ListenPort)); this.TcpServer.Listen(100); this.TcpServer.BeginAccept(AcceptClientCallback, null); if (serverProperties.UseIPv4AndIPv6) { //start the server for IPv6 this.TcpServer6 = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp); this.TcpServer6.Bind(new IPEndPoint(IPAddress.Parse(serverProperties.ListenIp6), serverProperties.ListenPort)); this.TcpServer6.Listen(100); this.TcpServer6.BeginAccept(AcceptClient6Callback, null); } SysLogger.Log("Started server", SysLogType.Debug); }