コード例 #1
0
        public void Start()
        {
            // reset the stopping flag
            acceptStopped = false;

            // create connection count limiter
            maxConnectionsEnforcer = maxSimultaneousConnections < 0
                ? (IMaxConnectionsEnforcer) new NoMaxConnectionEnforcer()
                : new MaxConnectionsEnforcer(MaxSimultaneousConnections);

            // create listen socket
            socket = new Socket(ListenAddress.AddressFamily, socketType, protocolType);

#if !__MonoCS__
            if (ListenAddress.AddressFamily == AddressFamily.InterNetworkV6)
            {
                socket.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, Ipv6Only ? 1 : 0);
            }
#endif

            // bind it
            socket.Bind(new IPEndPoint(ListenAddress, ListenPort));

            // start listening
            socket.Listen(MaxPendingConnections);

            // start connection acceptin'
            StartAccept();
        }
コード例 #2
0
ファイル: ServerAcceptor.cs プロジェクト: os-alan/SocketSlim
        public void Start()
        {
            // reset the stopping flag
            acceptStopped = false;

            // create connection count limiter
            maxConnectionsEnforcer = maxSimultaneousConnections < 0
                ? (IMaxConnectionsEnforcer) new NoMaxConnectionEnforcer()
                : new MaxConnectionsEnforcer(MaxSimultaneousConnections);

            // create listen socket
            socket = new Socket(ListenAddress.AddressFamily, socketType, protocolType);

            #if !__MonoCS__
            if (ListenAddress.AddressFamily == AddressFamily.InterNetworkV6)
            {
                socket.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, Ipv6Only ? 1 : 0);
            }
            #endif

            // bind it
            socket.Bind(new IPEndPoint(ListenAddress, ListenPort));

            // start listening
            socket.Listen(MaxPendingConnections);

            // start connection acceptin'
            StartAccept();
        }