国产高清在线免费观看-国产高清在线免费无码-国产高清在线男人的天堂-国产高清在线视频-国产高清在线视频精品视频-国产高清在线视频伊甸园

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA]c# 實現端口轉發可以用來實現遠程桌面連接內網主機

admin
2019年6月27日 11:53 本文熱度 3954
gYP.Start()方法調用后填寫一臺公網主機ip和端口(11111)然后公網主機用lcx轉發11111到22222端口,遠程桌面在公網主機連自己(127.0.0.1:22222)的22222端口就可以了可能需要點2次連接。

protected void wDZ(object sender, EventArgs e)
        {
            if (iXdh.Text == "" || eEpm.Text.Length < 7 || ZHS.Text == "") return;
            PortForward gYP = new PortForward();
            gYP.Start(llH.Text, int.Parse(ZHS.Text), eEpm.Text, int.Parse(iXdh.Text));          
        }

        protected void vJNsE(object sender, EventArgs e)
        {
            PortForward gYP = new PortForward();
            gYP.lyTOK();
           
        }
        protected void tYoZ(object sender, EventArgs e)
        {
        }
    }
   
    public class PortForward
    {
        public string Localaddress;
        public int LocalPort;
        public string RemoteAddress;
        public int RemotePort;
        string type;
        Socket ltcpClient;
        Socket rtcpClient;
        Socket server;
        byte[] DPrPL = new byte[2048];
        byte[] wvZv = new byte[2048];
        public struct session
        {
            public Socket rdel;
            public Socket ldel;
            public int llen;
            public int rlen;
        }
        public static IPEndPoint mtJ(string host, int port)
        {
            IPEndPoint iep = null;
            IPHostEntry aGN = Dns.Resolve(host);
            IPAddress rmt = aGN.AddressList[0];
            iep = new IPEndPoint(rmt, port);
            return iep;
        }
        public void Start(string Rip, int Rport, string lip, int lport)
        {
            try
            {
                LocalPort = lport;
                RemoteAddress = Rip;
                RemotePort = Rport;
                Localaddress = lip;
                rtcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                ltcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                rtcpClient.BeginConnect(mtJ(RemoteAddress, RemotePort), new AsyncCallback(iiGFO), rtcpClient);
            }
            catch (Exception ex) { }
        }

        protected void iiGFO(IAsyncResult ar)
        {
            try
            {
                session RKXy = new session();
                RKXy.ldel = ltcpClient;
                RKXy.rdel = rtcpClient;
                ltcpClient.BeginConnect(mtJ(Localaddress, LocalPort), new AsyncCallback(VTp), RKXy);
            }
            catch (Exception ex) { }
        }


        protected void VTp(IAsyncResult ar)
        {
            try
            {
                session RKXy = (session)ar.AsyncState;
                ltcpClient.EndConnect(ar);
                RKXy.rdel.BeginReceive(DPrPL, 0, DPrPL.Length, SocketFlags.None, new AsyncCallback(LFYM), RKXy);
                RKXy.ldel.BeginReceive(wvZv, 0, wvZv.Length, SocketFlags.None, new AsyncCallback(xPS), RKXy);
            }
            catch (Exception ex) { }
        }
        private void LFYM(IAsyncResult ar)
        {
            try
            {
                session RKXy = (session)ar.AsyncState;
                int Ret = RKXy.rdel.EndReceive(ar);
                if (Ret > 0)
                    ltcpClient.BeginSend(DPrPL, 0, Ret, SocketFlags.None, new AsyncCallback(JTcp), RKXy);
                else lyTOK();
            }
            catch (Exception ex) { }
        }
        private void JTcp(IAsyncResult ar)
        {
            try
            {
                session RKXy = (session)ar.AsyncState;
                RKXy.ldel.EndSend(ar);
                RKXy.rdel.BeginReceive(DPrPL, 0, DPrPL.Length, SocketFlags.None, new AsyncCallback(this.LFYM), RKXy);
            }
            catch (Exception ex) { }
        }
        private void xPS(IAsyncResult ar)
        {
            try
            {
                session RKXy = (session)ar.AsyncState;
                int Ret = RKXy.ldel.EndReceive(ar);
                if (Ret > 0)
                    RKXy.rdel.BeginSend(wvZv, 0, Ret, SocketFlags.None, new AsyncCallback(IZU), RKXy);
                else lyTOK();
            }
            catch (Exception ex) { }
        }
        private void IZU(IAsyncResult ar)
        {
            try
            {
                session RKXy = (session)ar.AsyncState;
                RKXy.rdel.EndSend(ar);
                RKXy.ldel.BeginReceive(wvZv, 0, wvZv.Length, SocketFlags.None, new AsyncCallback(this.xPS), RKXy);
            }
            catch (Exception ex) { }
        }
        public void lyTOK()
        {
            try
            {
                if (ltcpClient != null)
                {
                    ltcpClient.Close();
                }
                if (rtcpClient != null)
                    rtcpClient.Close();
            }
            catch (Exception ex) { }
        }
    }
}

該文章在 2019/6/27 11:53:18 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 亚洲爆乳无码精品aaa片蜜桃 | 亚洲av日韩精品久久久久久a | 国产精品无码无在线观看 | 亚洲色欧美图另类综合 | 国产无套内射普通话对白 | 无码av高潮喷水无码专区线 | 色综合久久综合欧美综合网 | 无码人妻一区二区三区免费视频 | 国产精品亚洲欧美大片在线观看 | 国产精品亚洲一区二区三区在线 | 国产偷v国产偷v亚洲高清 | 中文字幕组区二区三区 | 字幕无码专区 | 精品自拍农村熟女少妇图片 | 亚洲中文字幕无码卡通动漫 | 日韩欧美不卡在线 | 亚洲免费视频日本一区二区 | 熟妇熟女乱妇乱女网站 | 亚洲精品无码一区二区三天美 | 日韩视频 中文字幕 视频一区 | 综合国产精品私拍国产在线 | 国产日韩精品一区二区在线观看 | 亚洲中文久久精品无码 | 国产精品美女久久久久av超清 | 日本中国内射bbxx | 久久人人97超碰超国产 | 亚洲v欧美v国产v在线观看不卡 | 偷自拍亚洲视频在线观看 | 午夜电影网中文字幕在线播放 | 国产精品久久久久影院嫩草 | 日韩欧美亚洲国产第一页 | 国产清纯美女白浆在线播放 | 国产精品久久久久7777按摩 | 风情韵味人妻hd | h无码精品动漫在线观看导航 | 麻豆国风旗袍初次登场 | 亚洲欧美国产制服日本一区二区 | 日韩欧美精品综合在线观看 | 无人区乱码区1卡2卡三卡在线 | 成人国产精品一区二区视频 | 真实国产老熟女粗口对白 |