1、如何监听已开通的端口?
2、如何打开服务器外网ip的端口?
3、如何将内网ip已打开的端口号映射到外网的ip上?(也就是内网ip开通端口2000,外网ip也开通端口200)
4、服务器端本地ip怎么映射到外网ip的?
以上问题是c# socket 远程数据上传遇到的问题?
随便给我解决一个问题都好,给我提示也好,给我思路、代码就更好了小可请大侠相救.

解决方案 »

  1.   

    IPAddress _ip = IPAddress.Any;
                Socket newsoc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                newsoc.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
                IPEndPoint locaEp = new IPEndPoint(IPAddress.Any, _port);//建立连接           
                try
                {
                    newsoc.Bind(locaEp);
                    newsoc.Listen(100);
                    newsoc.BeginAccept(new AsyncCallback(onCall), newsoc);//异步监听回调 
                }
    private void onCall(IAsyncResult ar)
            {
                try
                {
                    Socket serverSoc = (Socket)ar.AsyncState;
    Socket clent = serverSoc.EndAccept(ar); 

    catch{}ar 就是指的状态