udp打洞很简单,需要借助第三方服务器
1.第三方服务器维护了一个列表 , 包括 用户名 ip port
2.当用户zhangsan想与lisi通信时,zhagnsan向服务器发送请求,告诉服务器这个需求
3.服务器获取到通信请求后,去list中查询,lisi的 ip port ,并向lisi发一个消息
4.isi得到消息,原来是zhangsan想和我通信,则李四先向zhangsan随便发送一段数据,但这肯定会失败(因为zhangsan的路由认为这是个陌生人,直接把数据丢掉),但是lisi的路由器上会多一个记录,记录了lisi曾经主动上杆子找zhangsan(这就是所谓的打洞)。
5.zhangsan得到了从服务器返回的lisi的ip port,直接向lisi发信息,由于lisi曾经的所作所为,所以,这时lisi那边的路由,认为zhangsan不是陌生人,会将这条信息放行,lisi从而收到了该条信息。
6.从此他俩成了好朋友,可以不经过第三方服务器二发送消息。
1.第三方服务器维护了一个列表 , 包括 用户名 ip port
2.当用户zhangsan想与lisi通信时,zhagnsan向服务器发送请求,告诉服务器这个需求
3.服务器获取到通信请求后,去list中查询,lisi的 ip port ,并向lisi发一个消息
4.isi得到消息,原来是zhangsan想和我通信,则李四先向zhangsan随便发送一段数据,但这肯定会失败(因为zhangsan的路由认为这是个陌生人,直接把数据丢掉),但是lisi的路由器上会多一个记录,记录了lisi曾经主动上杆子找zhangsan(这就是所谓的打洞)。
5.zhangsan得到了从服务器返回的lisi的ip port,直接向lisi发信息,由于lisi曾经的所作所为,所以,这时lisi那边的路由,认为zhangsan不是陌生人,会将这条信息放行,lisi从而收到了该条信息。
6.从此他俩成了好朋友,可以不经过第三方服务器二发送消息。