IO模型区分一个输入操作通常包括两个阶段:等待数据准备好从内核向进程复制数据对于一个套接字上的输入操作,第一步通常涉及等待网络数据从网络到达。当所等待数据到达后,它被复制到内核中的某个缓冲区。第二部就是把数据从内核缓冲区复制到应用进程缓冲区。同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求过程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO复用、信号驱动IO都是同步I
分类:
编程语言 时间:
2019-12-30 00:01:34
阅读次数:
149
一个输入操作通常包括2个阶段: 1,等待数据报准备好 2,把数据从内核空间复制到用户空间(进程空间) 比如一个套接字的输入操作: 1,等待数据从网络中到达到内核缓冲区中 2,把数据从内核缓冲区复制到进程缓冲区 阻塞式IO 非阻塞IO 多路复用IO 信号驱动IO 异步IO 五种IO模型的比较 ...
分类:
系统相关 时间:
2019-12-29 18:14:25
阅读次数:
106
本篇文章简单讨论了TCP套接字半关闭的相关知识。 通常来说,TCP建立连接的过程相对稳定,因为此时并未开始进行数据交换;而断开连接的过程由于已发生了数据交换,可能会发生一些预想不到的情况。 单方面断开连接带来的问题 前文所述的内容中,我们直接调用了close函数进行了完全断开连接,这就意味着本端既无 ...
分类:
其他好文 时间:
2019-12-28 21:13:34
阅读次数:
90
网络 在物理网络的基础上,建立抽象的连接 win + r, 输入 cmd 输入命令: ipconfig 如果ping不通,要关闭防火墙 开始 搜索防火墙 Socket 通信 Socket - 插头 Socket - 网络套接字 通过 ip 地址,两台主机可以互相找到对象 在两台主机上,各选择一个端口 ...
分类:
其他好文 时间:
2019-12-27 23:53:23
阅读次数:
104
#客户端设置,即客户端默认的连接参数 [client] #默认连接端口 port = 3306 #用于本地连接的socket套接字 socket = /data/mysqldata/3306/mysql.sock #编码 default-character-set = utf8mb4 #服务端基本设 ...
分类:
数据库 时间:
2019-12-27 18:01:22
阅读次数:
207
Python web应用想要发布使用iis发布有两种方式,这篇文章就为大家介绍一下这两种方式的具体实现: 1.配置HttpPlatform程序 HttpPlatform 模块将套接字连接直接传递到独立的 Python 进程。 借助此传递可根据需要运行任何 Web 服务器,但需要用于运行本地 Web ...
分类:
编程语言 时间:
2019-12-27 00:25:57
阅读次数:
136
TCP握手分为三个阶段,在握手开始之前,通信双方的套接字状态均为“TCP_CLOSE”,以下是这三个阶段: (1)客户端发送一个标志位中SYN位为1的报文给服务端,并设套接字状态为“TCP_SYNSENT” (2)服务端接到SYN报文,设套接字状态为“TCP_SYNRCV”,并回送一个SYN+ACK ...
分类:
其他好文 时间:
2019-12-27 00:16:40
阅读次数:
111
一、nginx安装步骤 1、安装nginx所需依赖包 #安装gcc 环境 yum install gcc-c++ ? #nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库 yum install -y pcre pcre-devel ? #z ...
分类:
其他好文 时间:
2019-12-27 00:11:28
阅读次数:
102
Socket 在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开 ...
分类:
其他好文 时间:
2019-12-26 21:42:31
阅读次数:
96
# TCP协议的初始化及socket创建TCP套接字描述符 1. TCP协议简介 1. TCP协议的初始化 从内核启动的起点 start_kernel 开始 --> rest_init --> kernel_init --> do_basic_setup --> inet_init Linux内核初 ...
分类:
其他好文 时间:
2019-12-26 21:06:46
阅读次数:
88