# ringBuffer **Repository Path**: longlongint/ringBuffer ## Basic Information - **Project Name**: ringBuffer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-03-14 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 1.程序执行步骤 - 1. 先运行host2进程,如监听本地10086端口 > ./host2 10086 - 2. 再运行device进程,连接host2同时监听本地10087端口 > ./device 10086 10087 - 3. 再运行host1进程, > ./host1 10086 10010 --- ### 2.代码的思路 #### host1进程 - 1.host1将同时开启8个线程 - 2.每个线程读取一个./result/img目录下的一个图片文件,通过套接字同时发送给device和host2进程 #### host2进程 - 1.使用经典的多进程模型开启TCP服务,即每接受一个连接就开启一个进程去处理这个连接 - 2.这个例子中每个进程处理文件相关的消息,直到接收到文件发送结束类型的消息才退出这个进程 - 3.host2根据文件头的信息将文件存储到不同的目录 #### device进程 - 1.使用经典的epoll,多线程短连接模型开启TCP服务,即每个可读事件都创建一个线程去处理 - 2.开启一个线程循环阻塞的读ring_buffer,读出的数据发送给host2 - 3.套接字的每个可读事件都将读出的数据写入ring_buffer --- ### 3.其他说明 - 1.编译直接在当前目录make - 2.函数的注释写在inc目录下的头文件了 - 3.粗略统计大概1500行