亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

p2ptcpnat原理圖+源碼(原創)

2019-11-14 13:50:10
字體:
來源:轉載
供稿:網友

現今網上p2p的 udp nat穿透 文章 多如牛毛, p2p tcp nat的文章寥寥無幾 ,up主研究了幾天 終于有所收獲,特來向大家分享,請大家多多支持!

 

1、首先你要有臺外網服務器 或者 電信的運營商 支持轉發的路由器(具體過程不多說,請自行百度)

2、一臺能上網的電腦(內網里面的電腦 不然沒有意義)

 

核心代碼就是:

socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);

作用就是讓已經連接的端口可以再次監聽 從而實現tcp nat 的目的

原理圖:

外網服務器端代碼 (ps:up主窮 買不起服務器 只能用公司的路由器轉發 ,請見諒?。?/p>

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;namespace TcpNatTestS{    class PRogram    {        public static ipAddress GetLocalIP()        {            try            {                string HostName = Dns.GetHostName(); //得到主機名                IPHostEntry IpEntry = Dns.GetHostEntry(HostName);                for (int i = 0; i < IpEntry.AddressList.Length; i++)                {                    //從IP地址列表中篩選出IPv4類型的IP地址                    //AddressFamily.InterNetwork表示此IP為IPv4,                    //AddressFamily.InterNetworkV6表示此地址為IPv6類型                    if (IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork)                    {                        return IpEntry.AddressList[i];                    }                }                return IPAddress.Any;            }            catch (Exception ex)            {                return IPAddress.Any;            }        }        static void Main(string[] args)        {            TcpListener tcp = new TcpListener(new IPEndPoint(GetLocalIP(), 8085));            tcp.Start();            new Thread(e =>            {                while (true)                {                    var lianjie = tcp.AcceptTcpClient();                    //new TcpClient().Connect((IPEndPoint)lianjie.Client.RemoteEndPoint);                    lianjie.Client.Send(UnicodeEncoding.Unicode.GetBytes("你的外網ip是:" + lianjie.Client.RemoteEndPoint));                    Console.WriteLine("內網服務器: 本地端口:" + lianjie.Client.LocalEndPoint + "遠程端口:" + lianjie.Client.RemoteEndPoint);                }            }).Start();            Console.ReadKey();        }    }}

 

內網客戶端(你需要自己填寫外網服務器ip):

 

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;namespace TcpNatTestA{    class Program    {        public static IPAddress GetLocalIP()        {            try            {                string HostName = Dns.GetHostName(); //得到主機名                IPHostEntry IpEntry = Dns.GetHostEntry(HostName);                for (int i = 0; i < IpEntry.AddressList.Length; i++)                {                    //從IP地址列表中篩選出IPv4類型的IP地址                    //AddressFamily.InterNetwork表示此IP為IPv4,                    //AddressFamily.InterNetworkV6表示此地址為IPv6類型                    if (IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork)                    {                        return IpEntry.AddressList[i];                    }                }                return IPAddress.Any;            }            catch (Exception ex)            {                return IPAddress.Any;            }        }        static void Main(string[] args)        {            new Thread(e =>            {                TcpClient clinet = new TcpClient();                clinet.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);                var bendi = new IPEndPoint(GetLocalIP(), 7896);                clinet.Client.Bind(bendi);                clinet.Connect(new IPEndPoint(IPAddress.Parse("請填寫你的服務器ip"), 8085));                TcpListener tcp = new TcpListener(bendi);                tcp.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);                tcp.Start();                new Thread(() =>                {                    while (true)                    {                        var jiqi= tcp.AcceptTcpClient();                        Console.WriteLine("內網客戶機: 本地端點:" + bendi + " 遠程端點:" + jiqi.Client.RemoteEndPoint);                    }                }).Start();                clinet.Client.Send(UnicodeEncoding.Unicode.GetBytes("呵呵呵呵"));                byte[] hh = new byte[500];                var weishu = clinet.Client.Receive(hh);                byte[] temp = new byte[weishu];                Array.Copy(hh, temp, weishu);                //Console.WriteLine("遠程端口:"+clinet.Client.RemoteEndPoint);                Console.WriteLine(UnicodeEncoding.Unicode.GetString(temp));            }).Start();            Console.ReadKey();        }    }}

 

 

 有問題歡迎大家聯系我

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品v天堂中文字幕| 欧美日韩激情网| 亚洲精品视频网上网址在线观看| 成人乱人伦精品视频在线观看| 91精品国产高清久久久久久| 日韩网站在线观看| 欧美激情一级精品国产| 91免费高清视频| 国产欧洲精品视频| 日av在线播放中文不卡| 国产一区二区美女视频| 日韩成人中文电影| 日本国产欧美一区二区三区| 亚洲国产成人精品一区二区| 久久久久久com| 青青草精品毛片| 亚洲精品久久久久| 2018中文字幕一区二区三区| 国产精品第一区| 亚洲欧美另类人妖| 懂色aⅴ精品一区二区三区蜜月| 97视频在线观看视频免费视频| 欧美成人午夜免费视在线看片| 日av在线播放中文不卡| 欧美在线性爱视频| 国产在线精品成人一区二区三区| 日韩电影中文字幕| 成人a在线观看| 日韩国产精品亚洲а∨天堂免| 亚洲电影中文字幕| 在线观看中文字幕亚洲| 欧美专区日韩视频| 亚洲人成在线观看| 98精品国产自产在线观看| 欧洲精品久久久| 97在线视频国产| 欧洲日本亚洲国产区| 亚洲精品福利资源站| 久久精品国产一区二区三区| 亚洲欧美制服中文字幕| 欧美日韩一区二区精品| 亚洲一区二区三区乱码aⅴ蜜桃女| 91国产一区在线| 国产亚洲美女精品久久久| 91精品国产91久久久久| 成人免费视频在线观看超级碰| 欧美激情一级欧美精品| 精品国产欧美一区二区五十路| 美女视频黄免费的亚洲男人天堂| 伊人亚洲福利一区二区三区| 成人免费自拍视频| 日韩欧美亚洲范冰冰与中字| 国产91在线播放九色快色| 26uuu另类亚洲欧美日本老年| 国产成人jvid在线播放| 久久亚洲电影天堂| 久久精品99国产精品酒店日本| 中文字幕精品久久| 久久久www成人免费精品张筱雨| 亚州欧美日韩中文视频| 日韩高清人体午夜| 国产一区二区在线免费| 日韩中文字幕在线免费观看| 国产一区二区在线免费视频| 久久久久久国产三级电影| 亚洲精品综合精品自拍| 欧美最近摘花xxxx摘花| 成人黄色片网站| 亚洲欧洲在线看| 国产亚洲精品久久久久久牛牛| 91久久久在线| 久久噜噜噜精品国产亚洲综合| 日韩免费在线电影| 精品久久久久久久久久国产| 精品国产一区av| 久久精品成人动漫| 亚洲自拍另类欧美丝袜| 91国偷自产一区二区三区的观看方式| 亚洲国产小视频| 日韩av电影在线网| 国语自产精品视频在线看抢先版图片| 中文字幕日韩综合av| 久热国产精品视频| 一区二区三区四区在线观看视频| 成人精品在线视频| 中文字幕日韩精品在线| 欧美黄色片在线观看| 国色天香2019中文字幕在线观看| 日韩免费精品视频| 欧美国产第二页| 最近2019好看的中文字幕免费| 久久久久久久久久久av| 欧美午夜片在线免费观看| 国外成人在线播放| 美日韩在线视频| 久久人人爽人人爽人人片av高清| 成人免费福利在线| 欧美一区二区三区四区在线| 色综合久久悠悠| 热门国产精品亚洲第一区在线| 日韩在线视频观看正片免费网站| 亚洲 日韩 国产第一| 日韩美女毛茸茸| 日韩精品亚洲视频| 欧美激情免费看| 国产精品久久久久久亚洲影视| 日韩欧美国产一区二区| 欧美乱大交xxxxx另类电影| 亚洲白虎美女被爆操| 91高清免费在线观看| 亚洲国产精久久久久久久| 久久成人av网站| 欧美成人免费网| 国产精品久久电影观看| 久久久久久久电影一区| 91精品国产综合久久男男| 久久九九热免费视频| 久久久国产精品视频| 日韩美女av在线免费观看| 中文字幕亚洲情99在线| 国产精品女人网站| 国色天香2019中文字幕在线观看| 国产精品视频999| 久久视频在线免费观看| 日韩va亚洲va欧洲va国产| 亚洲成人999| 日韩视频免费大全中文字幕| 青青久久av北条麻妃海外网| 中文字幕免费精品一区| 日韩欧美国产视频| 国产日韩在线免费| 一二美女精品欧洲| 91精品国产乱码久久久久久久久| 成人激情免费在线| 欧美性猛交xxxx富婆| 日韩人体视频一二区| 国产精品都在这里| 久久久久久国产精品三级玉女聊斋| 国产在线日韩在线| 孩xxxx性bbbb欧美| 欧美色视频日本高清在线观看| 欧美电影免费播放| 91精品视频免费看| 久久久久久久国产| 在线看欧美日韩| 日韩欧美综合在线视频| 亚洲bt天天射| 欧美在线观看一区二区三区| 欧美性猛交xxxx乱大交蜜桃| 久久久久久久成人| 日韩精品在线免费播放| 国产一区二区日韩| 亚洲第一男人天堂| 91欧美激情另类亚洲| 国外视频精品毛片| 欧美视频第一页| 国产一区二区三区高清在线观看| 色偷偷888欧美精品久久久| 国产极品jizzhd欧美| 欧洲成人在线视频| 欧美精品一区在线播放| 久久久国产精品x99av| 不卡av在线网站| 国产精品免费一区|