
网络编程
JMW1407
这个作者很懒,什么都没留下…
展开
-
什么是通用网关接口CGI( Common Gateway Interface)?
通用网关接口CGI通用网关接口CGI1、背景2、预备前端知识3、什么是CGI4、CGI使用原理5、缺点参考通用网关接口CGI1、背景早期的Web服务器,只能响应浏览器发来的HTTP静态资源的请求,并将存储在服务器中的静态资源返回给浏览器。随着Web技术的发展,逐渐出现了动态技术,但是Web服务器并不能够直接运行动态脚本,为了解决Web服务器与外部应用程序(CGI程序)之间数据互通,于是出现了CGI(Common Gateway Interface)通用网关接口。简单理解,可以认为CGI是Web服务器和原创 2020-09-09 00:22:48 · 3480 阅读 · 0 评论 -
网络数据到底怎样的传输过程?什么是网络编程?一文教你清晰入门linux下socket网络编程—— 服务端篇(TCP协议传输)!
socket网络编程入门篇之客户端socket网络编程入门篇之客户端1、网络编程入门篇——前章1.1、网络数据传输过程1.2、什么是socket套接字1.3、网络结构体1.4、网络字节序 (Network Byte Order)和本机转换2、网络编程入门篇——客户端篇2.1、创建socket()2.2、发起连接(connect(),面试常问)2.3、数据读写(send()+recv())2.3.1、数据读(recv())2.3.2、数据写(send())2.4、关闭连接 (close() and shut原创 2020-08-18 00:14:01 · 648 阅读 · 0 评论 -
网络数据到底怎样的传输过程?什么是网络编程?一文教你简单入门 linux下socket网络编程 —— 客户端篇(TCP协议传输)!
socket网络编程入门篇之客户端socket网络编程入门篇之客户端1、网络编程入门篇——前章1.1、网络数据传输过程1.2、什么是socket套接字1.3、网络结构体1.4、网络字节序 (Network Byte Order)和本机转换2、网络编程入门篇——客户端篇2.1、创建socket()2.2、发起连接(connect())2.3、数据读写(send()+recv())2.3.1、数据读(recv())2.3.2、数据写(recv())2.4、关闭连接(close())2、网络编程入门篇 —— 服原创 2020-08-17 11:50:24 · 4206 阅读 · 3 评论 -
Linux下的I/O复用技术 — epoll如何使用(epoll_create、epoll_ctl、epoll_wait) 以及 LT/ET 使用过程解析
epoll如何使用?epoll如何使用?LT/ET 使用过程LT水平触发(Level Triggered)ET边沿触发(Edge Triggered )epoll如何使用?LT/ET 使用过程LT水平触发(Level Triggered)1、Level Triggered (LT) 水平触发socket接收缓冲区不为空 ,说明有数据可读, 读事件一直触发socket发送缓冲区不满 ,说明可以继续写入数据 ,写事件一直触发符合思维习惯,epoll_wait返回的事件就是socket的状态原创 2020-08-14 09:25:54 · 20796 阅读 · 6 评论 -
Epoll常见面试问题,LT和ET区别?将socket设为非阻塞?正确的读写方式?关于epoll的数据结构?epoll与select、poll的对比?
epoll——常见面试问题epoll——常见面试问题常问面试问题epoll——常见面试问题常问面试问题1、Linux epoll ET模式下 EPOLLOUT和EPOLLIN触发场景?1、EPOLLOUT事件:EPOLLOUT事件只有在连接时触发一次,表示可写,其他时候想要触发,那你要先准备好下面条件:1.某次write,写满了发送缓冲区,返回错误码为EAGAIN。2.对端读取了一些数据,又重新可写了,此时会触发EPOLLOUT。简单地说:EPOLLOUT事件只有在不可写到可写原创 2020-08-13 18:01:41 · 2982 阅读 · 1 评论 -
网络编程最最最重要的面试热点(没有之一)—— Linux下的I/O复用技术 之 epoll为什么更高效 ? epoll涉及的数据结构?epoll与select、poll的对比?
排列组合问题排列组合问题参考排列组合问题EPOLL事件的两种模型:Level Triggered (LT) 水平触发.socket接收缓冲区不为空 有数据可读 读事件一直触发.socket发送缓冲区不满 可以继续写入数据 写事件一直触发符合思维习惯,epoll_wait返回的事件就是socket的状态Edge Triggered (ET) 边沿触发.socket的接收缓冲区状态变化时触发读事件,即空的接收缓冲区刚接收到数据时触发读事件.socket的发送缓冲区状态变化时触发写事件,即满的缓原创 2020-08-12 18:51:48 · 4843 阅读 · 0 评论 -
服务器编程框架的两种高效的事件处理模式——Reactor模式 + Proactor模式
两种高效的事件处理模式——Reactor模式 + Proactor模式Reactor模式 + Proactor模式1、背景(两句话把握基本思想)2、Reactor模式2.1、事件处理流程2.2、Reactor模型发展3、Proactor模式3.1、事件处理流程3.2、同步I/O方式模拟Proactor模式4、Reactor和Proactor优缺点和对比参考Reactor模式 + Proactor模式1、背景(两句话把握基本思想)reactor:老板,饭做好了你跟俺说一声,俺自己来拿原创 2020-08-10 17:51:32 · 525 阅读 · 0 评论 -
浅谈5种IO模型——阻塞式IO、非阻塞式IO、信号驱动IO、多路复用IO及异步IO
5种IO模型5种IO模型1、背景2、IO模型2.1、阻塞式IO(blocking IO)2.2、非阻塞式IO(nonblocking IO)2.3、多路复用IO(IO multiplexing)2.4、信号驱动IO(signal driven IO)2.5、异步IO( asynchronous IO)参考5种IO模型1、背景从TCP发送数据的流程说起要深入的理解各种IO模型,那么必须先了解下产生各种IO的原因是什么,要知道这其中的本质问题那么我们就必须要知一条消息是如何从过一个人发送到另外一个人的;转载 2020-08-09 21:01:09 · 6700 阅读 · 1 评论 -
socket 网络编程——端口复用技术(setsockopt())(linux下多个进程监听同一个端口)
端口复用技术端口复用1、背景2、定义3、setsockopt4、实验案例参考端口复用1、背景操作系统如何区分一个socket的呢?socket = 《A进程的IP地址:端口号,B进程的IP地址:端口号》也就是说,只要五元素不完全一致,操作系统就能区分socket。场景分析:在A机上进行客户端网络编程,假如它所使用的本地端口号是1234,如果没有开启端口复用的话,它用本地端口1234去连接B机再用本地端口连接C机时就不可以,若开启端口复用的话在用本地端口1234访问B机的情况下还可以用本地端口原创 2020-07-14 11:01:34 · 27357 阅读 · 1 评论