随笔分类 -
网络
-
http和https
摘要:什么是http? 超文本传输协议,基于TCP/IP协议传输数据,所有的www文件都必须遵守这个标准 什么是https? 是被披上SSL外壳的http,由http进行通信,利用ssl/tls进行加密传输。 http与https的区别? 安全性上,https是安全超文本协议,在http基础上有更强的安全
阅读全文
-
utp与tcp
摘要:tcp与udp的区别 1.tcp基于连接,发送数据前要先建立连接。udp不需要 2.tcp是可靠的,有重传/序号/确定机制/滑动窗口保证顺序和正确。udp不能保证 3.tcp是一对一的。udp支持一对一,一对多,多对多 4.tcp比较耗费资源。udp效率更高 5.tcp基于流模式,udp基于数据报模
阅读全文
-
IO 多路复用
摘要:IO多路复用是一种同步IO模型,实现一个线程可以监视多个文件句柄; 一旦某个文件句柄就绪,就能通知应用程序进行相应的读写操作; 没有文件句柄就绪时会阻塞应用程序,交出cpu; 多路时指网络连接,复用指同一个线程 IO多路复用的三种实现方式 select poll epoll 服务器端采用单线程通过s
阅读全文
-
五种 IO 模型
摘要:五种IO模型包括 阻塞IO 非阻塞IO 信号驱动IO IO多路转接 异步IO 在网络环境下,一般将IO分为两步 1.等待 2.数据拷贝 所以如果要想提高IO效率,需要降低等的时间 1.阻塞IO 阻塞IO的特点就是在IO执行的两个阶段(等待数据和拷贝数据)时被阻塞 在linux下,默认情况下所有的IO
阅读全文
-
OSI 七层模型以及 TCP/IP 协议
摘要:互联网的本质就是一系列的网络协议,这个协议就叫做OSI协议 实际上七层并不存在,只是人为的划分好的而已 举例: A通过计算机的电脑端qq给B发了一句话“你好”,B也在电脑端接收 1. 数据如何封装 因为每一层的数据单元不同,所以需要封装TCP报文头部,使下一层能识别 传输层:传输层有TCP/IP的两
阅读全文
-
套接字编程3
摘要:tcp通信程序的编写 通信流程: 服务端: 创建套接字->>绑定地址信息->>开始监听->>获取新建连接->> 使用新建连接与客户端进行通信->>关闭套接字 客户端: 创建套接字->>向服务端发起连接->>收发数据->>关闭套接字 存在问题: 服务端只能与一个客户端通信一次 本质原因: 在没有新连接
阅读全文
-
套接字编程2
摘要:编写udp服务端的通信程序( c语言 ) #include <stdio.h> #include <unistd.h> #include <arpa/inet.h>//字节序转换接口头文件 #include <netinet/in.h>//地址结构头,协议类型文件 #include <sys/soc
阅读全文
-
套接字编程1
摘要:socket套接字编程: 网络通信程序的编写 (接口+流程) udp协议通信程序的编写 / tcp协议通信程序的编写 udp协议: 用户数据报协议 特性: 无连接, 不可靠, 面向数据报 应用场景: 应用于实时性要求大于安全性要求的场景 -- 视频传输 tcp协议: 传输控制协议 特性: 面向连接,
阅读全文
-
网络基础1
摘要:IP地址: 一台主机在网络中的标识 IPv4: uint32_t 类型的整数(32位无符号类型的整数) -- IP地址数据类型 每一个网络中的数据都会带有两条信息: 源端IP地址; 对端IP地址 端口: 网络通信中一台主机上进程的标识符 (uint16_t 类型的整数 范围0~65535) 每一个网
阅读全文
|