优选
班级编号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
想必我们有一些朋友应该陆续收到国内和国外的域名注册商关于域名即将涨价的信息。大概的意思是说从9月1日开始,.COM域名会涨价一点点,大约需要单个9.99美元左右一个。其实对于大部分用户来说也没多大的影响,毕竟如今什么都涨价,域名涨一点点也不要紧。如果是域名较多的话,确实增加续费成本和注册成本。今天整理看到Dynadot有发布新的八月份域名优惠活动,.COM首年注册依然是仅需48元,本次优惠活动截止...
DiyVM是一家比较低调的国人主机商,成立于2009年,提供VPS主机和独立服务器租用等产品,其中VPS基于XEN(HVM)架构,数据中心包括香港沙田、美国洛杉矶和日本大阪等,CN2或者直连线路,支持异地备份与自定义镜像,可提供内网IP。本月商家最高提供5折优惠码,优惠后香港沙田CN2线路VPS最低2GB内存套餐每月仅50元起。香港(CN2)VPSCPU:2cores内存:2GB硬盘:50GB/R...
今天看到一个网友从原来虚拟主机准备转移至服务器管理自己的业务。这里问到虚拟主机和服务器到底有什么不同,需要用到哪些工具软件。那准备在下班之间稍微摸鱼一下整理我们服务器安装环境和运维管理中常见需要用到的软件工具推荐。第一、系统镜像软件一般来说,我们云服务器或者独立服务器都是有自带镜像的。我们只需要选择镜像安装就可以,比如有 Windows和Linux。但是有些时候我们可能需要自定义镜像的高级玩法,这...