优选
班级编号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
官方网站:点击访问星梦云活动官网活动方案:机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路4vCPU4G40G+50G10Mbps1个100G不限流量210元/月 99元/月点击自助购买成都电信优化线路8vCPU8G40G+100G15Mbps1个100G不限流量370元/月 160元/月点击自助购买成都电信优化线路16vCPU16G40G+100G20Mb...
上次部落分享过VirMach提供的End of Life Plans系列的VPS主机,最近他们又发布了DEDICATED MIGRATION SPECIALS产品,并提供6.5-7.5折优惠码,优惠后最低每月27.3美元起。同样的这些机器现在订购,将在2021年9月30日至2022年4月30日之间迁移,目前这些等待迁移机器可以在洛杉矶、达拉斯、亚特兰大、纽约、芝加哥等5个地区机房开设,未来迁移的时...
数脉科技六月优惠促销发布了!数脉科技对香港自营机房的香港服务器进行超低价促销,可选择30M、50M、100Mbps的优质bgp网络。更大带宽可在选购时选择同样享受优惠,目前仅提供HKBGP、阿里云产品,香港CN2、产品优惠码续费有效,仅限新购,每个客户可使用于一个订单。新客户可以立减400元,或者选择对应的机器用相应的优惠码,有需要的朋友可以尝试一下。点击进入:数脉科技官方网站地址数脉科技是一家成...