- 博客(9)
- 收藏
- 关注
原创 原始套接字
用于tcp通信的流式套接字 用于udp通信报式套接字 特点是: 我们发送数据包只需要组应用层的数据报文,收到的数据包也只有应用层的数据 也就是说明,链路层,网络层,传输层的数据是由底层协议栈自动帮我们组的 如果想要自己从链路层,网络层,传输层到应用层组一个数据包,这个时候需要使用原始套接字 原始套接字(SOCK_RAW) 1、一种不同于SOCK_STREAM、SOCK_DGRAM的套接字,它实现于...
2020-03-20 19:26:33
190
原创 路由器与交换机
路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络 所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成 具有判断网络地址和选择IP路径的功能 作用是为了让数据包从一个子网到另一个子网通信用的,当数据包到达路由器的时候,暂存,在发送 当这个数据包到达路由器时,对这个数据包分析,过滤等等 交换机工作原理 1、转...
2020-03-18 19:28:22
161
原创 高并发(多路IO转接-扩展)
写tcp并发服务器的时候,并发的实现方式: 第一种: 阻塞等待 来了一个客户端就创建一个进程或线程去服务器,但是创建的线程或进程大多数时间都是处于休眠状态,所以这种并发的方式比较浪费资源 缺点: 浪费资源(内存) 第二种:非阻塞忙轮询 accept和read都不带阻塞,进程在不停的轮询,如果客户端没有发来消息,也没有新的客户端请求连接,这个时候程序在做无用功,浪费cpu的资源 第三种: 多路IO转...
2020-03-17 20:16:05
299
原创 心跳包
在TCP网络通信中,经常会出现客户端和服务器之间的非正常断开,需要实时检测查询链接状态。常用的解决方法就是在程序中加入心跳机制。 Heart-Beat线程 这个是最常用的简单方法。在接收和发送数据时个人设计一个守护进程(线程),定时发送Heart-Beat包,客户端/服务器收到该小包后,立刻返回相应的包即可检测对方是否实时在线。 该方法的好处是通用,但缺点就是会改变现有的通讯协议!大家一般都是使用...
2020-03-17 09:40:27
231
原创 广播
广播: 广播:由一台主机向该主机所在子网内的所有主机发送数据的方式 广播只能用UDP或原始IP实现,不能用TCP 广播的ip地址有两种: 1.定向广播地址 如: 192.168.1.0/24 --> 广播地址 192.168.1.255 2. 受限广播地址 255.255.255.255 这个地址在局域网内可以用来广播,但是这个地址不会被路由器转发 广播的用途: 单个服务...
2020-03-12 20:11:43
286
原创 TFTP
简单文件传输协议 写一个TFTP客户端: TFTP是基于UDP协议: 1 因为UDP是不可靠的,丢包不会重传,TFTP每次传输数据都需要对方给出ACK确认 2 传输文件时,需要一些选项,TFTP可以设置选项 数据传输模式: octet:二进制模式 netascii:文本模式 mail:已经不再支持 TFTP通信过程: TFTP通信过程总结(无选项) 1、服务器在69号端口等待客户端的请求 2、服务...
2020-03-11 20:22:04
375
原创 网络应用程序通信模式
B/S: 浏览器和服务器模式 只需要写服务器,客户端都是使用的浏览器 偷菜游戏,网页版的qq斗地址 优点: 维护简单,客户端不需要维护 不容易偷数据, 开发相对简单一些 不依赖环境 缺点: 客户端所有的计算,都需要服务器来完成,数据传输量大,客户端连接量太大服务器承受不了 B/S模式只适用于对性能要求较低的应用 C/S: 客户端和服务器模式 客户端和服务器都需要开发 英雄联盟,QQ,wechat...
2020-03-10 21:00:31
255
原创 网络分层
OSI: 开发系统互联模型(网络7层模型) TCP/IP 开发中的4层模型 第0层: 物理设备 网卡 交换机 集线器 路由器 物理层: 物理的特性( 双绞线的类型 传输速率 ) 数据链路层: 负责数据帧的收发 网络层: 通过ip地址判断数据包是否要接收,(最大可能的让每个数据包都能够到达目的主机) 传输层: 提供进程间的数据传送服务 会话层: 建立连接 保持连接 表示层: ...
2020-03-09 19:45:57
110
原创 GIT
Git历史 同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。 到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux...
2020-03-06 18:57:19
218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人