优选
班级编号VIP14
学员名字端碗吹水
课程名称UDP和多线程服务器
UDP
UDP是数据报文传输协议这个传输协议比较野蛮发送端不需要理会接收端是否存在直接就发送数据不会像TC P协议一样建立连接。如果接收端不存在的话发送的数据就会丢失UDP协议不会去理会数据的安全性而且在网络繁忙、堵塞的时候会丢失一些数据俗称“丢包”。
但是UDP协议的传输速度很快基本是你的网络有多快就传输多快。所以游戏、直播、语音等功能都是得靠UDP来实现TCP都是基于UDP开发的就是在UDP上增加了各种安全措施保护了数据的安全牺牲了传输的速度。
UDP传输数据的方式是把数据分成一个个的数据包每个包都会限制数据的大小。
学习UDP的传输我们需要用到两个类DatagramSocket和Da ta g ra m Pa c ket类和TC P里学过的不一样的一点是DatagramSocket既可以做接收端也可以做发送端。接收端需要声明端口号发送端则不需要声明ip地址和端口号。接收端会有一个空的数据包用来接存储发送端发过来的数据。发送端则是将数据包装成一个数据包然后声明对方的ip地址和端
1/14
优选
口号接着就能将数据发送过去了。
示意图
发送端代码示例
接收端也可以限制IP的设置成只接收某个IP的数据2/14
优选
接收端代码示例
运行结果
3/14
优选
多线程服务器
到此之前我们编写的都是单线程的服务器端单线程的服务器有一个坏处就是在多人同时访问的时候会很缓慢。例如做个试验在单线程的服务器端调用sleep方法让线程休眠3秒钟然后运行服务器端接着打开几个浏览器同时进行访问会发现第一个浏览器停顿了3秒左右第二个浏览器停顿了6秒左右第三个浏览器停顿了9秒左右这样以此类推的话速度实在太慢不忍直视。所以这时候就需要用到多线程来编写多线程服务器了多线程就能同时的进行处理访问的客户端而且在真正的开发中也不可能会用到单线程的服务器。
TC P多线程服务器代码示例
4/14
优选
5/14
优选
运行结果
6/14
优选
UDP多线程服务器代码示例7/14
优选
运行结果
8/14
优选
从运行结果可以看出来这种来一个线程开一个线程的方式的弊端就是会开启无数个线程导致资源占用很大。线程池服务器
所以这时候我们就需要用到线程池了线程池能很好的管
9/14
鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主打高防产品,独立服务器免费提供60Gbps/48Mpps攻击防御。机房提供1-10Gbps带宽不限流量服务器,最低丹佛/荷兰机房每月49美元起,洛杉矶机房最低59美元/月起。下面列出部分促销机型的配置信息。机房...
云如故是一家成立于2018年的国内企业IDC服务商,由山东云如故网络科技有限公司运营,IDC ICP ISP CDN VPN IRCS等证件齐全!合法运营销售,主要从事自营高防独立服务器、物理机、VPS、云服务器,虚拟主机等产品销售,适合高防稳定等需求的用户,可用于建站、游戏、商城、steam、APP、小程序、软件、资料存储等等各种个人及企业级用途。机房可封UDP 海外 支持策略定制 双层硬件(傲...
beervm是一家国人商家,主要提供国内KVM VPS,有河南移动、广州移动等。现在预售湖南长沙联通vds,性价比高。湖南长沙vps(长沙vds),1GB内存/7GB SSD空间/10TB流量/1Gbps端口/独立IP/KVM,350元/月,有需要的可以关注一下。Beervm长沙联通vps套餐:长沙联通1G青春版(预售)长沙联通3G标准版(预售)长沙联通3G(预售)vCPU:1vCPU:2vCPU...