当前位置: 首页 > news >正文

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. 安全可靠的传输协议

http://www.dtcms.com/a/67265.html

相关文章:

  • 用SpringBoot做一个web小案例环境搭建
  • 《Android Glide 深度解析:工作原理、LRU 缓存机制与最佳实践》
  • 设计模式Python版 模板方法模式(下)
  • 高效集成聚水潭采购退货数据到MySQL的最佳实践
  • 4-文件导入功能文档
  • 零成本本地化搭建开源AI神器LocalAI支持CPU推理运行部署方案
  • Redis 集合(Set)
  • HTTP 各版本协议简介
  • kotlin与MVVM的结合使用总结(三)
  • 深度学习之卷积神经网络(CNN)
  • 跨国企业网络案例分析:SD-WAN智能组网
  • 用DasViewer的时候3Dtiles 转osgb 可以直接指定目标坐标系吗?
  • 电路原理(电容 集成电路NE555)
  • python学习笔记
  • ROS实践(五)机器人自动导航(robot_navigation)
  • Science Advances 视触觉传感机制的交互装置,可以实时测量来自手不同部位的分布力
  • OSPF-2 邻接建立关系
  • CentOS7安装DNS服务器bind
  • 为什么 NFS 不适合作为 TDengine 的数据存储
  • 在使用element-ui时表单的表头在切换页面时第一次进入页面容易是白色字体解决方法
  • SSR 框架是什么?
  • C#中继承的核心定义‌
  • 创新实践分享:基于边缘智能+扣子的智能取物机器人解决方案
  • PHP语言的开源贡献
  • MFCday01、模式对话框
  • 编译支持 RKmpp 和 RGA 的 ffmpeg 源码
  • 【面试】Redis
  • 数据类设计_图片类设计之5_不规则类图形混合算法(前端架构)
  • Git的详细使用方法
  • 【每日学点HarmonyOS Next知识】路由栈问题、图片圆角、颜色资源转十六进制字符串、数据集变化崩溃、组件声明周期