コード例 #1
0
ファイル: EndPointListener.cs プロジェクト: prabindh/embedio
        public EndPointListener(HttpListener listener, IPAddress addr, int port, bool secure)
        {
            Listener = listener;

            if (secure)
            {
#if SSL
                this.secure = secure;
                cert        = listener.LoadCertificateAndKey(addr, port);
#else
                throw new Exception("SSL is not supported");
#endif
            }

            _endpoint = new IPEndPoint(addr, port);
            _sock     = new Socket(addr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            _sock.Bind(_endpoint);
            _sock.Listen(500);
            var args = new SocketAsyncEventArgs {
                UserToken = this
            };
            args.Completed += OnAccept;
            Socket dummy = null;
            Accept(_sock, args, ref dummy);
            _prefixes     = new Hashtable();
            _unregistered = new Dictionary <HttpConnection, HttpConnection>();
        }
コード例 #2
0
ファイル: EndPointListener.cs プロジェクト: rcruzs00/mono
		public EndPointListener (HttpListener listener, IPAddress addr, int port, bool secure)
		{
			this.listener = listener;

			if (secure) {
				this.secure = secure;
				cert = listener.LoadCertificateAndKey (addr, port);
			}

			endpoint = new IPEndPoint (addr, port);
			sock = new Socket (addr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
			sock.Bind (endpoint);
			sock.Listen (500);
			SocketAsyncEventArgs args = new SocketAsyncEventArgs ();
			args.UserToken = this;
			args.Completed += OnAccept;
			sock.AcceptAsync (args);
			prefixes = new Hashtable ();
			unregistered = new Dictionary<HttpConnection, HttpConnection> ();
		}
コード例 #3
0
ファイル: EndPointListener.cs プロジェクト: patryk9200/mono
        public EndPointListener(HttpListener listener, IPAddress addr, int port, bool secure)
        {
            this.listener = listener;

            if (secure)
            {
                this.secure = secure;
                cert        = listener.LoadCertificateAndKey(addr, port);
            }

            endpoint = new IPEndPoint(addr, port);
            sock     = new Socket(addr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            sock.Bind(endpoint);
            sock.Listen(500);
            SocketAsyncEventArgs args = new SocketAsyncEventArgs();

            args.UserToken  = this;
            args.Completed += OnAccept;
            sock.AcceptAsync(args);
            prefixes     = new Hashtable();
            unregistered = new Dictionary <HttpConnection, HttpConnection> ();
        }
コード例 #4
0
        public HttpEndPointListener(HttpListener listener, IPAddress addr, int port, bool secure)
        {
            _listener = listener;

            if (secure)
            {
                _secure = secure;
                _cert   = _listener.LoadCertificateAndKey(addr, port);
            }

            _endpoint = new IPEndPoint(addr, port);
            _socket   = new Socket(addr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            _socket.Bind(_endpoint);
            _socket.Listen(500);

            SocketAsyncEventArgs args = new SocketAsyncEventArgs();

            args.UserToken  = this;
            args.Completed += OnAccept;
            Accept(args);

            _prefixes = new Dictionary <ListenerPrefix, HttpListener>();
            _unregisteredConnections = new Dictionary <HttpConnection, HttpConnection>();
        }