Ejemplo n.º 1
0
        public static IAsyncResult BeginListen(IPEndPoint dbg_ep, IPEndPoint con_ep, AsyncCallback callback,
                                               out int dbg_port, out int con_port)
        {
            dbg_port = con_port = 0;

            Socket dbg_sock = null;
            Socket con_sock = null;

            dbg_sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            dbg_sock.Bind(dbg_ep);
            dbg_sock.Listen(1000);
            dbg_port = ((IPEndPoint)dbg_sock.LocalEndPoint).Port;

            if (con_ep != null)
            {
                con_sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                con_sock.Bind(con_ep);
                con_sock.Listen(1000);
                con_port = ((IPEndPoint)con_sock.LocalEndPoint).Port;
            }

            ListenCallback c = new ListenCallback(ListenInternal);

            return(c.BeginInvoke(dbg_sock, con_sock, callback, con_sock ?? dbg_sock));
        }
		public static IAsyncResult BeginListen (IPEndPoint dbg_ep, IPEndPoint con_ep, AsyncCallback callback,
			out int dbg_port, out int con_port)
		{
			dbg_port = con_port = 0;

			Socket dbg_sock = null;
			Socket con_sock = null;

			dbg_sock = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
			dbg_sock.Bind (dbg_ep);
			dbg_sock.Listen (1000);
			dbg_port = ((IPEndPoint) dbg_sock.LocalEndPoint).Port;

			if (con_ep != null) {
				con_sock = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
				con_sock.Bind (con_ep);
				con_sock.Listen (1000);
				con_port = ((IPEndPoint) con_sock.LocalEndPoint).Port;
			}

			ListenCallback c = new ListenCallback (ListenInternal);
			return c.BeginInvoke (dbg_sock, con_sock, callback, con_sock ?? dbg_sock);
		}