
socket
文章平均质量分 50
明月漫千山
游历经年,愿能风尘仆仆笑谈风生,策马扬鞭面对夕阳!
展开
-
多线程和套接字
server.cpp(编译时需要链接pthread库) #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/socket.h> #include <arpa/inet.h> #include <string.h> #include <pthread.h> #include <sys/epoll.h>..原创 2021-01-15 21:29:21 · 278 阅读 · 0 评论 -
套接字和标准I/O
标准的I/O函数具有两大优点: 良好的移植性 利用标准I/O函数的缓冲可以提高性能(传输数据越多,性能提升越大,但是在多线程中似乎优点问题) 代码 server.cpp #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/socket.h> #include <arpa/inet.h> #include <string.h>..原创 2021-01-15 21:18:11 · 193 阅读 · 1 评论 -
epoll的边缘触发
Level_triggered(水平触发):当被监控的文件描述符上有可读写事件发生时,epoll_wait()会通知处理程序去读写。如果这次没有把数据一次性全部读写完(如读写缓冲区太小),那么下次调用 epoll_wait()时,它还会通知你在上没读写完的文件描述符上继续读写,当然如果你一直不去读写,它会一直通知你!!!如果系统中有大量你不需要读写的就绪文件描述符,而它们每次都会返回,这样会大大降低处理程序检索自己关心的就绪文件描述符的效率!!! Edge_triggered(边缘触发):当被监控的文件描原创 2021-01-15 21:04:09 · 977 阅读 · 0 评论 -
TCP/IP网络编程
一、概念: 套接字:传输网络数据的软件设备。 TCP的特点:可靠的、按序传递的、基于字节的面向连接的数据传输方的协议。传输过程中数据不会消失,按序传输数据,传输的数据不存在数据边界。 UDP的特点:不可靠的、无序的、以数据高速传输为目的的协议。强调快速传输而非传输顺序,传输的数据可能丢失也可能损坏,传输的数据有数据边界,限制每次传输的大小。 网络模型(四层):应用层、TCP或UDP层、IP层、网络层。 三次握手,四次挥手。 半关闭状态:关闭一半的套接字缓存区,即关闭写缓存或者读缓存。 多..原创 2021-01-15 20:58:39 · 1183 阅读 · 0 评论 -
使用select实现I/O复用
实验条件:在使用一个服务器,多个客户端的情况下,实现回声效果,即客户端传什么内容给服务器,服务器将该内容返回。 具体实现:每个客户端将自己的进程号传到服务器端,服务器端将该内容传给客户端。 运行方法: server.cpp #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <unistd.h> #include <arpa/inet.h> #原创 2021-01-12 23:54:30 · 366 阅读 · 0 评论 -
基于多进程的I/O分割
运行效果如图: server.cpp #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/socket.h> #include <arpa/inet.h> #include <string.h> #include <signal.h> #include <wait.h> #define MAX_BUFSIZE原创 2021-01-12 20:39:25 · 159 阅读 · 0 评论