【理论篇】从0到1实现基于协程的WebServer(2) —— socket与IO多路复用(select和poll)
如何建立网络通信在 linux 系统中,如果想要在客户端和服务器之间建立网络连接比如 TCP 或者 UDP 连接,需要借助 socket 相关系统调用来设置地址和端口并建立连接。
建立服务端程序一个简易的 echoserver 程序如下所示,该服务端程序可以接受一个客户端发来的消息并返回回去。
#include <arpa/inet.h>#include <cerrno>#include <iostream>#include <netinet/in.h>#include <sys/socket.h>#include <unistd.h>int main() { int fd = socket(AF_INET, SOCK_STREAM, 0); if (fd < 0) { return 0; } int opt_val = 1; setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt_val, sizeof(opt_val ...