/// <summary> /// Start logic thread and listening on selected port /// </summary> /// <param name="addressIPv4">bind to specific ipv4 address</param> /// <param name="addressIPv6">bind to specific ipv6 address</param> /// <param name="port">port to listen</param> public bool Start(string addressIPv4, string addressIPv6, int port) { IPAddress ipv4 = NetUtils.ResolveAddress(addressIPv4); IPAddress ipv6 = NetUtils.ResolveAddress(addressIPv6); return(Start(ipv4, ipv6, port)); }
/// <summary> /// Start logic thread and listening on selected port /// </summary> /// <param name="addressIPv4">bind to specific ipv4 address</param> /// <param name="addressIPv6">bind to specific ipv6 address</param> /// <param name="port">port to listen</param> public bool Start(string addressIPv4, string addressIPv6, int port) { if (IsRunning) { return(false); } _netEventsQueue.Clear(); IPAddress ipv4 = NetUtils.ResolveAddress(addressIPv4); IPAddress ipv6 = NetUtils.ResolveAddress(addressIPv6); if (!_socket.Bind(ipv4, ipv6, port, ReuseAddress)) { return(false); } IsRunning = true; _logicThread = new Thread(UpdateLogic) { Name = "LogicThread", IsBackground = true }; _logicThread.Start(); return(true); }