public GSocketListener(IPAddress address, int port, GSocketListener.ClientArrivedHandler handler) { _port = port; ClientArrived += handler; _tcpListener = new TcpListener(address, _port); _tcpListener.Start(); _acceptorThread = new Thread(new ThreadStart(_acceptorloop)); _acceptorThread.Start(); }
public GSocketListener(int port, GSocketListener.ClientArrivedHandler handler, bool setReuseAddress = true) { _port = port; ClientArrived += handler; _tcpListener = new TcpListener(_port); if (setReuseAddress) { _tcpListener.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1); } _tcpListener.Start(); _acceptorThread = new GThread(new ThreadStart(_acceptorloop), "Acceptor Loop", true); _acceptorThread.Start(); }