public virtual Endpoint Listen() { try { Debug.Assert(_fd != null); _addr = Network.DoBind(_fd, _addr); Network.DoListen(_fd, _backlog); } catch (SystemException) { _fd = null; throw; } _endpoint = (TcpEndpoint)_endpoint.NewPort(EffectivePort()); return(_endpoint); }
internal TcpAcceptor(TcpEndpoint endpoint, ObjectAdapter adapter) { _adapter = adapter; _addr = Network.GetAddressForServerEndpoint(endpoint.Host, endpoint.Port, endpoint.Communicator.IPVersion, endpoint.Communicator.PreferIPv6); _fd = Network.CreateServerSocket(false, _addr.AddressFamily, endpoint.Communicator.IPVersion); Network.SetBlock(_fd, false); Network.SetTcpBufSize(_fd, endpoint.Communicator); _addr = Network.DoBind(_fd, _addr); Network.DoListen(_fd, endpoint.Communicator.GetPropertyAsInt("Ice.TCP.Backlog") ?? 511); Endpoint = endpoint.NewPort((ushort)_addr.Port); }