网络编程
FightNana
渣渣程序员在学习。
展开
-
TCP三次握手,四次挥手及与UDP的区别
一. TCP三次握手过程网络上的传输是没有连接的,TCP所谓的连接只是在通信双方维护一个连接状态。具体流程:1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN...原创 2019-09-02 11:00:08 · 218 阅读 · 0 评论 -
SIGPIPE信号的产生及处理
SIGPIPE信号的产生在tcp四次挥手过程中,发送方向已经调用close()方法的socket一端写数据,会产生sigpipe错误。close():关闭读写两个方向,会导致sigpipe信号shutdown():可以选择关闭读/写方向,不会导致sigpipe信号SIGPIPE信号的解决方法直接忽略sigpipe信号void handle_for_sigpipe(){ str...原创 2019-09-02 11:14:03 · 428 阅读 · 0 评论 -
理解Reactor模式
一.Reactor模式的产生Reactor模式首先是事件驱动的,有一个或多个并发输入源,有一个Service Handler,有多个Request Handlers;这个Service Handler会同步的将输入的请求(Event)多路复用的分发给相应的Request Handler。最原始的网络编程思路就是服务器用一个while循环,不断监听端口是否有新的套接字连接,如果有,那么就调用一...原创 2019-09-02 13:55:34 · 179 阅读 · 0 评论