优选
班级编号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
Megalayer 商家在开始看到有提供香港服务器、香港站群服务器的时候有介绍过,后来就一直没有怎么关注。但是前几天有看到网友使用到他们家的美国独立服务器问其如何的,但是我没有使用过就不好评论,这不前几天也有介绍到Megalayer美国独立服务器。以及我们也有看到商家有提供美国站群服务器和美国大带宽服务器产品,可选30M不限制流量CN2优化线路,以及100M不限制流量国际带宽线路。新年元旦后,Me...
鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主打高防产品,独立服务器免费提供60Gbps/48Mpps攻击防御。机房提供1-10Gbps带宽不限流量服务器,最低丹佛/荷兰机房每月49美元起,洛杉矶机房最低59美元/月起。下面列出部分促销机型的配置信息。机房...
diyvm怎么样?diyvm这是一家低调国人VPS主机商,成立于2009年,提供的产品包括VPS主机和独立服务器租用等,数据中心包括香港沙田、美国洛杉矶、日本大阪等,VPS主机基于XEN架构,均为国内直连线路,主机支持异地备份与自定义镜像,可提供内网IP。最近,DiyVM商家对香港机房VPS提供5折优惠码,最低2GB内存起优惠后仅需50元/月。点击进入:diyvm官方网站地址DiyVM香港机房CN...