08 2021 档案
摘要:逐步构建HTTP服务器(四)——设计并使用缓冲 设计缓冲 设计缓冲的目的:解决不能一次read和write全部数据、未及时将套接字接受缓冲区读出造成的反复触发读事件就绪(busy-loop)。 Linux多线程服务端编程 7.4.2 为什么non-blocking 网络编程中应用层buffer是必需
阅读全文
摘要:逐步构建HTTP服务器(三)——IO多路复用+非阻塞IO 为什么使用非阻塞? 在(一)中提到我们目前的使用的都是阻塞的socket。 考虑套接字发送缓冲区已满,write阻塞,而此时又有接受缓冲区可供读取。引入非阻塞IO,可避免进程在可做任何有效工作期间发生阻塞。 在man select 中提到使用
阅读全文
摘要:逐步构建HTTP服务器(二)——初识IO多路复用 上篇构建了一个简单的TCP服务器,基本结构: socket(); // 获取一个阻塞 'TCP套接字' bind(); // 'TCP套接字' 绑定地址 listen(); // 'TCP套接字' 监听 whlie(1) { accept(); //
阅读全文
摘要:HTTP | MDN (https://developer.mozilla.org/zh-CN/docs/Web/HTTP) 我们知道HTTP依赖于面向连接的TCP进行消息传递。所以我们实际上是要构建一个能够接受TCP连接并通过TCP发送HTTP报文给用户浏览器的服务器。 如何构建一个TCP服务器?
阅读全文

浙公网安备 33010602011771号