社区
C#
帖子详情
c# 外网向内网发送UDP数据包问题
panyyer
2017-06-09 04:34:24
如题。场景是这样的,客户端连的是校园网(内网),出外网会有指定的外网ip和随机分配的端口。服务器端是阿里云主机
现在服务器端已经成功接收到客户端发送的UDP数据包了,并且能获取对应的客户端外网IP和端口,但是每隔一段时间获取一次之后发现端口是动态改变的,而服务器端使用从客户端获取到的IP和端口回发UDP数据包,客户端也接收不到。
请问是什么问题呢?
...全文
241
4
打赏
收藏
c# 外网向内网发送UDP数据包问题
如题。场景是这样的,客户端连的是校园网(内网),出外网会有指定的外网ip和随机分配的端口。服务器端是阿里云主机 现在服务器端已经成功接收到客户端发送的UDP数据包了,并且能获取对应的客户端外网IP和端口,但是每隔一段时间获取一次之后发现端口是动态改变的,而服务器端使用从客户端获取到的IP和端口回发UDP数据包,客户端也接收不到。 请问是什么问题呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
以专业开发人员为伍
2017-06-10
打赏
举报
回复
当你将来开发一个软件的时候,这个软件可能运行在城域网、小区网络、大楼网络、甚至楼层路由器内部,许多层 NAT 的内部,所以这是一个很基本的很常见的设计问题。你将来工作了之后,如果如果遇到不了解这个常识的软件开发者来进行网络软件的安装和调试,就会发现差别了。
以专业开发人员为伍
2017-06-10
打赏
举报
回复
学习网络的时候,“内网、外网”的机制这是一个常识。你要温习一下 NAT 知识。
以专业开发人员为伍
2017-06-10
打赏
举报
回复
NAT 通讯本来就是这样的,你这里是把常识当作问题来问了。 当内网(比如说)192.168.1.100:3399 访问服务器的时候,可能对外是 122.133.10.100:12345,这时候服务器就向后者返回数据,就能送达 192.168.1.100:3399 ,因为路由器/交换机保存有内部的端口映射表格信息。 但是对于 udp 来说,路由器/交换机一般都是只有很低的优先级(这是因为 udp 是流氓通讯方式,它故意抢占网络造成拥塞),通常只维持一个很短的映射时间,超过一段时间没有返回信息就会切断这种映射。服务器接收到 udp 消息必须马上回写信息。连接会被路由器/交换机自动切断,所以 udp 消息经常丢失,udp是不可靠的。 而对于非常优雅、主动优化网络拥塞状态的 TCP 则会保持长连接映射,直到连接由一方主动中断为止。tcp 方式才可以保证可靠地通讯。
xuzuning
2017-06-10
打赏
举报
回复
不是问题! 外网不能访问内网,这是常识。内外有别嘛
【已弃用】
C#
高级网络编程(TouchSocket)
分别为
C#
语言入门基础(已完结)
C#
高级语言基础(持续更新)
C#
入门级网络编程(已完结)
C#
高级网络编程(持续更新) TouchSocket网络通信框架详解(未开始) 项目实战(未开始) 对于第二大类,会教学目前...
TCP、
UDP
数据包
大小的限制
1、概述 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 ... 不同的协议层对
数据包
有不同的称谓,在传输层叫做段(se
C#
实现
udp
广播收集局域网类所有设备信息
3.设备需要内置一个功能,打开约定的接收广播端口,持续做好对
udp
服务端的响应工作,接收广播字符串后解析,向广播端
发送
自己的IP和自己设备的型号信息(送至:解析到的IP,端口号) 4.广播端接收这个设备
发送
的字符...
TCP/
UDP
丢包常见
问题
小结 增加
udp
缓存
遇到的
问题
是这样的,主机端
发送
udp
数据包
: 应用层的包大小为1452byte大小,这样拆包是根据以太网的MTU为1500字节而考虑的(当然
外网
状态下并不一定就是以太网网络,路由MTU可能更加小),因为在网络层和传输层...
关于使用
UDP
(TCP)跨局域网,NAT穿透
前言: 最近我用java做了一个C/S的类似QQ之类的IM系统(即时通讯系统),遇到了不能跨局域网通讯的
问题
,经过在网上,... 一般情况下,只能在同一个子网即同一个虚拟局网里通讯,或者子网访问
外网
,
外网
访问不了内
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章