无法穿透NAT,小女子求大侠相助

cole_0_cole 2013-08-16 02:36:15
事情是这样的:
用S做服务端,A、B为客户端,java写的,先启动S监听50000端口,再分别启动A、B,用socket向S发送UDP数据包。
S、A、B都处在不同局域网下,S所在的局域网路由器把S监听的端口映射到了S的,但是A、B向S发送数据包不能成功。
在网上搜了资料,说映射出去就能找到S了的,是因为UDP不稳定所以不成功么?还是有步骤没有做到?小女子新手一枚,求指导
...全文
167 10 打赏 收藏 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
UDBuilder 2013-12-10
  • 打赏
  • 举报
回复
我现在正在做这个,不知道你的问题解决了没
cole_0_cole 2013-08-19
  • 打赏
  • 举报
回复
引用 4 楼 KK3K2005 的回复:
你先换成tcp方式 看能成功不
TCP穿透NAT不是更难么?表示不会。。 貌似这个SOCKET通信,适用于本机的通信是不是?用来实现网络通信是不是错了?
cole_0_cole 2013-08-19
  • 打赏
  • 举报
回复
引用 8 楼 xuzuning 的回复:
广播不需要对方地址,收到的概率应该变高
我不会也没用广播,我想解决现在的这个问题。 新手啦,如果再不行我去试试,我想实现P2P通信的
xuzuning 2013-08-19
  • 打赏
  • 举报
回复
广播不需要对方地址,收到的概率应该变高
cole_0_cole 2013-08-19
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
广播地址 255.255.255.255,通了再缩小 需要注意到:路由器不会转发内网地址
我没有用广播,也没有通。。 A\B用socket发送的UDP数据包的目的地址都是S所在的局域网的公网地址,端口是50000,路由器收到这个数据包,会把数据包转发给50000端口,这个理论是对的么?现在我就是这样实现的,发不过去。。
xuzuning 2013-08-19
  • 打赏
  • 举报
回复
广播地址 255.255.255.255,通了再缩小 需要注意到:路由器不会转发内网地址
KK3K2005 2013-08-16
  • 打赏
  • 举报
回复
你先换成tcp方式 看能成功不
aliuges 2013-08-16
  • 打赏
  • 举报
回复
表示不懂,帮顶
cole_0_cole 2013-08-16
  • 打赏
  • 举报
回复
cole_0_cole 2013-08-16
  • 打赏
  • 举报
回复
不要沉呀,继续等待

5,657

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧