服务器的UDP通讯是什么?

服务器的UDP通讯是什么?,第1张

用户数据文报协议 (UDP) 是一个无连接协议。跟 TCP 的操作不同,计算机并不建立连接。另外 UDP 应用程序可以是客户机,也可以是服务器

为了传输数据,首先要设置客户计算机的 LocalPort 属性。然后,服务器计算机只需将 RemoteHost 设置为客户计算机的 Internet 地址,并将 RemotePort 属性设置为跟客户计算机的 LocalPort 属性相同的端口,并调用 SendData 方法来着手发送信息。于是,客户计算机使用 DataArrival 事件内的 GetData 方法来获取已发送的信息。

UDP服务器,就是首发数据,进行数据处理的。与TCP不同的是不用建立连接,直接调用recvfrom来收包。

开始就是基本的socket初始化地址什么的。

要求多个线程处理客户端命令,那recvfrom收包后,考虑把客户端的地址信息保存,便于sendto,对接收的数据包,交给线程进行处理,每个线程可以向一块共享内存、队列里写入收到的数据和对应的客户端信息,每次写的时候对这块共享资源加锁,多个线程对共享资源读是加锁,读完解锁,并开始处理数据。

处理完,用sendto发回去。

不是什么大项目。小程序而已。

我们在租用服务器的时候会看到一些封UDP的字眼,有人说UDP协议不靠谱,那为什么还有人使用呢?

首先我们要先了解UDP是什么~

UDP中文名:用户数据报协议(User Datagram Protocol),是 OSI参考模型中的传输层协议,它与TCP协议一样用于处理数据包,是一种无连接的传输层协议。UDP有不断提供数据包分组、组装和不能对数据包进行排序,也就是说,当报文发送之后无法得知是否安全到达,是一种提供面向事务简单不可靠信息传送服务。

由于UDP的不可靠,因此欺骗UDP包相对容易,与UDP相关的服务面临着更大的危险。DDoS攻击的目的只有一个,但实现的方式有两种,一种是将你的带宽塞满,一种是让你的服务器资源耗尽。而使用UDP协议的业务较为容易受到UDP流量攻击。

UDP协议适用于对网络质量要求不高,对高速传输和对实时性有较高要求的通行或者广播通信。比如日常生活中的:QQ语音,视频电话,现场直播,游戏等场景。

通过对UDP协议的了解,大家应该知道,大部分攻击都来源于海外,因为海外流量的成本相对于国内会低一点,一旦发起攻击,并不容易找到源头,因此封掉UDP是一个不错的选择,前提是不需要用到UDP协议。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/301245.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存