三次握手、四次挥手的理解

发布时间:2019-04-21 19:42:59编辑:auto阅读(2258)

    client: socket

    connect
    
    send
        encode
    recv
        decode
    
    close

    server: socket

    bind
    
    listen
        1.主动转换成被动
        2.向系统申请队列(5)
    
    accept
        1.阻塞等待客户端的链接
        2.创建一个新的socket(主动)
    
    recv
    send
    
    new.close
    server.close

    . 三次握手: 发生时间: 客户端和服务端建立链接的时候

                    syn j
        connect     -》     accept
    
                    ack j+1
                    《-
                    syn k
        connect返回
    
                    ack k+1 
                    -》      accept返回

    . 四次挥手 发生时间: 客户端和服务端断开链接的时候

        client:        server:
                fin j
        close   ->              
    
                ack j+1 
                <-      
    
                fin k
                <-      close
    
                ack k+1
                ->      
                        断开链接
    
    
    
        client:        server:
                fin j
        close   ->      recv        
    
                ack j+1 recv解开阻塞并
                <-      返回长度为0的数据
    
                fin k
                <-      close
    
                ack k+1
                ->      
                        断开链接
     

关键字