优选
班级编号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
BuyVM商家算是一家比较老牌的海外主机商,公司设立在加拿大,曾经是低价便宜VPS主机的代表,目前为止有提供纽约、拉斯维加斯、卢森堡机房,以及新增加的美国迈阿密机房。如果我们有需要选择BuyVM商家的机器需要注意的是注册信息的时候一定要规范,否则很容易出现欺诈订单,甚至你开通后都有可能被禁止账户,也是这个原因,曾经被很多人吐槽的。这里我们简单的对于BuyVM商家新增加的迈阿密机房进行简单的测评。如...
提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...
今天上午有网友在群里聊到是不是有新注册域名的海外域名商家的优惠活动。如果我们并非一定要在国外注册域名的话,最近年中促销期间,国内的服务商优惠力度还是比较大的,以前我们可能较多选择海外域名商家注册域名在于海外商家便宜,如今这几年国内的商家价格也不贵的。比如在前一段时间有分享到几个商家的年中活动:1、DNSPOD域名欢购活动 - 提供域名抢购活动、DNS解析折扣、SSL证书活动2、难得再次关注新网商家...