@[toc] 服务器端 (1) 创建ServerSocket对象,绑定监听端口; (2) 通过accept()方法监听客户端请求; (3) 连接建立后,通过输入流读取客户端发送的请求信息; (4) 通过输出流向客户端发送相应信息; (5) 关闭响应资源。 客户端 (1) 创建Socket对象,指明需 ...
分类:
其他好文 时间:
2020-03-08 17:31:44
阅读次数:
74
概念理解 selector与epoll是多路复用的函数。我认为多路复用是针对bio而言,指的是通过单线程来追踪管理多个socket对象。传统的bio中,在socket的accept与read两个阶段都会造成阻塞,那么就无法处理并发问题,即仅一个socket对象就已经占用了IO对象,没有余力解决其他线 ...
分类:
其他好文 时间:
2020-03-08 13:42:13
阅读次数:
108
rabbitmq最大连接数(Socket Descriptors),RabbitMQ的socket连接数(socket descriptors)是文件描述符(file descriptors,fd)的一个子集。 也就是说,RabbitMQ能同时打开的最大连接数和最大文件句柄数(文件系统,管道)都是受 ...
分类:
其他好文 时间:
2020-03-07 18:58:55
阅读次数:
163
深入理解零拷贝的原理 零拷贝是网络传输当中很重要的一个概念,我们可以从Linux在网络传输中的设计变化中理解零拷贝的基本原理。 最原始的网络传输过程 当服务器和客户端建立起socket连接之后,现在准备进行数据的传输。由于文件都存在于磁盘中,因此我们传输的流程是按照以下图一所示的过程进行传输的: 图 ...
分类:
其他好文 时间:
2020-03-07 16:28:03
阅读次数:
86
还记得当年学计网课时用python实现一个简单的CS会话功能,这也是学习socket网络编程的第一步,现改用java重新实现,以此记录。 客户端 服务器端 ...
分类:
编程语言 时间:
2020-03-07 12:55:09
阅读次数:
60
import socketserver #创建类并继承基本类 class Myserver(socketserver.BaseRequestHandler): #继承handle类 def handle(self): while True: conn = self.request print(con ...
分类:
其他好文 时间:
2020-03-06 19:22:03
阅读次数:
52
操作系统 多道操作系统 第一次提出了多个程序可以同时在计算机中计算 1.遇到IO就让出cpu 2.把cpu让给其他程序,让其他程序能够使用cpu 3.cpu的让出这件事要占用时间 4.两个程序来回在cpu上切换,不会乱 每个程序有独立的内存空间 每个程序在切换的前后会把当前的状态记录下来 cpu计算 ...
分类:
编程语言 时间:
2020-03-06 15:17:20
阅读次数:
73
Reactor 主线程往epoll内核事件表中注册socket上的读就绪事件 主线程调用epoll_wait等待socket上有数据可读 当socket上有数据可读时,epoll_wait通知主线程,主线程则将socket可读事件放入请求队列。 睡眠在请求队列上的某个工作线程被唤醒,它从socket ...
分类:
其他好文 时间:
2020-03-06 01:08:03
阅读次数:
49
1、确保已安装redis拓展,可使用php -v 进行查看。如没有安装拓展请参考linux下安装redis扩展。 2、下载文档 https://github.com/Lijianeng10/socket- 3、具体使用方法参考官方文档 https://github.com/walkor/phpsoc ...
分类:
Web程序 时间:
2020-03-05 15:06:15
阅读次数:
185
HTTPS协议工作流程 SSL 安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议。 SSL协议的三个特性 1. 保密:在握手协议中定义了会话密钥后,所有的消息都被加密。 1. 鉴别:可选的客户端认证,和强制的服务器端认证。 1. 完整 ...
分类:
Web程序 时间:
2020-03-05 13:10:23
阅读次数:
98