internal TcpAcceptor(TcpEndpoint endpoint, ObjectAdapter adapter) { _adapter = adapter; _addr = Network.GetAddressForServerEndpoint(endpoint.Host, endpoint.Port, endpoint.Communicator.IPVersion, endpoint.Communicator.PreferIPv6); _socket = Network.CreateServerSocket(false, _addr.AddressFamily, endpoint.Communicator.IPVersion); try { _socket.Bind(_addr); _addr = (IPEndPoint)_socket.LocalEndPoint !; _socket.Listen(endpoint.Communicator.GetPropertyAsInt("Ice.TCP.Backlog") ?? 511); } catch (SocketException ex) { _socket.CloseNoThrow(); throw new TransportException(ex); } Endpoint = endpoint.Clone((ushort)_addr.Port); }
internal TcpAcceptor(TcpEndpoint endpoint, IConnectionManager manager, ObjectAdapter adapter) { _manager = manager; _adapter = adapter; _addr = Network.GetAddressForServerEndpoint(endpoint.Host, endpoint.Port, Network.EnableBoth); _socket = Network.CreateServerSocket(endpoint, _addr.AddressFamily); try { _socket.Bind(_addr); _addr = (IPEndPoint)_socket.LocalEndPoint !; _socket.Listen(endpoint.Communicator.GetPropertyAsInt("Ice.TCP.Backlog") ?? 511); } catch (SocketException ex) { _socket.CloseNoThrow(); throw new TransportException(ex); } Endpoint = endpoint.Clone((ushort)_addr.Port); }
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.Clone((ushort)_addr.Port); }