LINUX下的tcp协议

TCP

1. 面向数据流(流式套接字)
2. 建立连接
3. 安全可靠的传输协议

应用场景:
      HTTP, MQTT,  FTP

     三次握手:TCP建立连接时,需要进行三次握手,确保收发数据前,双方都已准备就绪。

四次挥手:TCP断开连接时,需要进行四次挥手,从而确保通信双发都已收发数据结束。

C/S模型:

ssize_t recv(int sockfd, void *buf, size_t len, int flags);
功能:从tcp套接字接收数据
参数:
        sockfd:套接字
        buf:保存接收数据内容的首地址
        len:期待接收到的字节数
        flags:0:默认方式
返回值:
      成功:实际收到的字节数
      失败:-1
      0:当发送端套接字关闭时,recv不再阻塞,返回0


         int listen(int sockfd, int backlog);
       功能:用来监听TCP套接字
       参数:
             sockfd:监听套接字
             backlog:最多允许同时监听的客户端个数
       返回值:
             成功:0
             失败:-1

int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
     功能:接收建立三次握手的客户端并产生与之通信的套接字
    参数:
          sockfd:监听套接字
          addr:保存客户端地址信息的变量指针
          addrlen:客户端地址大小的变量指针
     返回值:
             成功:通讯套接字
              失败:-1

TCP 和UDP 的区别:

UDP:用户数据报协议

1. 面向数据报
2. 无连接
3. 不安全不可靠(尽最大努力交付)
4. 机制简单,传输效率高

TCP: 传输控制协议

1. 面向数据流(流式套接字)
2. 建立连接
3. 安全可靠的传输协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值