社区
网络编程
帖子详情
二台不同局域网内的电脑,是不是不能使P2P技术通信
lesgo
2012-06-18 10:29:33
我做了个服务端,放在外网的服务器上,让二台不同局域网电脑,登录上去。我使用用P2P UDP打洞穿透技术,但是发现,无论怎么搞,都通不了,是不是只能通过服务器中转来通信了?
...全文
1218
9
打赏
收藏
二台不同局域网内的电脑,是不是不能使P2P技术通信
我做了个服务端,放在外网的服务器上,让二台不同局域网电脑,登录上去。我使用用P2P UDP打洞穿透技术,但是发现,无论怎么搞,都通不了,是不是只能通过服务器中转来通信了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lesgo
2012-06-18
打赏
举报
回复
我现在的穿透就是:A,B登录到服务端S,同时会隔段时间发个心跳包给服务端,服务端记录它们的外网IP和端口,A要与B通信时,就从服务端获取到B的IP和端口,如果A发送到B不通,就让服务端把A的IP与端口,告诉B,让B往A打洞
yby4769250
2012-06-18
打赏
举报
回复
理论上是可以打洞的,是不是你打洞的方式不对啊
lesgo
2012-06-18
打赏
举报
回复
主要用来传送文件,中转服务器的话,就太慢了
我感觉二端的路由好像是对称的
如果一台PC机是公网IP,一台PC机是局域网IP,登录到服务端时,这二台PC用UDP通信没问题
无言猪
2012-06-18
打赏
举报
回复
怎么穿透的?某一端或者两端的路由是不是对称的?
oyljerry
2012-06-18
打赏
举报
回复
有中转服务器,就要看是否打洞没有成功了.
ouyh12345
2012-06-18
打赏
举报
回复
需要第三方机器吧,至少让2个机器通讯上
这不是鸭头
2012-06-18
打赏
举报
回复
P2P主要用在不同局域网内的电脑上。
lesgo
2012-06-18
打赏
举报
回复
http://www.lihuasoft.net/article/show.php?id=2478
我就是按这个网址例子改写的,拿这例子测试不行,这例子的方法,和你说的方法一样的
Tishion
2012-06-18
打赏
举报
回复
UDP打洞的一个基本支持是需要网关支持【锥形NAT】,如果你的网关是【对称型NAT】就没办法打洞了。
然后【锥形NAT】又分为几种不同的类型:
1.Full:这种NAT内部的机器A连接过外网机器C后,NAT会为A打开一个端口,并且这个端口相当于绑定到内网机器A了,在此之后外网的任何机器发到这个打开的端口的UDP数据报都可以到达A.
2.Restricted:这种NAT内部的机器A连接过外网的机器C后,NAT为A打开一个端口,并且这个端口相当于绑定到内网机器A,在此之后只有机器C可以用自己的任何端口和A通信,其他的外网机器不行.
3.Port Restricted:这种NAT内部的机器A连接过外网的机器C的端口P后,NAT为A打开一个端口,并且这个端口相当于绑定到内网机器A,在此之后只有机器C可以用的自己的端口P和A通信,其他的外网机器不行.
如果楼主的网关NAT是第一种类型,直接获取任何一个内网机器的外网IP和端口就可以互通,但是对于后面两种方式的NAT,单向链接还是行不通。
但是借助中间服务器B可以实现以上三种NAT的UDP打洞。
方法就是:让A和C同时向服务器B发送UDP数据包。
1——A:通过端口12345发送UDP数据到服务器B,服务器记录A的公网IP和端口并告知C
2——C:通过端口12345发送UDP数据到服务器B,服务器记录C的公网IP和端口并告知A
3——A:通过端口12345发送UDP数据到服务器B所记录的C的公网IP和端口,于此同时A通知服务器B“我已经请求向C发送数据,请告诉他”,然后服务器B通知C进行下一步处理4
4——C:接收到服务器B发送的通知,然后C通过端口12345发送UDP数据到服务器B所记录的A的公网IP和端口,然后告诉服务器B“我已经回应了A的发送请求”,到这里UDP穿透的隧道已经打通了,然后就可以互通了。
楼主修改一下你的打洞方法试试吧。
基于
P2P
的
局域网
即时
通信
系统+项目说明(c#源码)计算机网络课程设计.zip
基于
P2P
的
局域网
即时
通信
系统+项目说明(c#源码)计算机网络课程设计.zip 基于
P2P
的
局域网
即时
通信
系统+项目说明(c#源码)计算机网络课程设计.zip 基于
P2P
的
局域网
即时
通信
系统+项目说明(c#源码)计算机网络课程设计.zip...
局域网
文件实时同步工具
自同步软件是一款自同步是最好用的
局域网
文件实时同步工具。软件使用方便、同步快速,并且支持五大平台,包括windows、mac、linux、android和IOS(未发布)。 轻松实现多设备之间的无线数据同步,无需注册下载即用,...
第09章-
局域网
技术
本课内容如下: 1
局域网
概述 2
局域网
拓扑结构 3 标准以太网(10Base以太网) 4 以太网 5 交换式以太网 6 千兆以太网 7 无线
局域网
8 令牌环网 9 FDDI工作机制 10
局域网
常见的
技术
计算机网络课程设计-基于
P2P
的
局域网
即时
通信
系统(node.js实现)
1、资源内容:计算机网络课程设计-基于
P2P
的
局域网
即时
通信
系统(node.js实现) 2、适用人群:计算机,电子信息工程、数学等专业的学习者,作为大学生课程设计“参考资料”参考学习使用。 3、解压说明:本资源需要...
t-io Java构建
p2p
网络
这篇文章是构建一个
p2p
网络,需要拥有独立的ip地址(当然如果是在
局域网
内使用就无所谓了),不会涉及到内网穿透的一些实现方法,也就是说如果你是把自己
电脑
构建了一个
p2p
结点,则其他人的
电脑
是无法链接你
电脑
的...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章