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

基于tcp c/s的网络通信

TCP(即传输控制协议):是一种面向连接的传输层协议,它能提供高可靠性通信(即数
据无误、数据无丢失、数据无失序、数据无重复到达的通信)

tcp协议特点:
1. 面向连接   //类似打电话通话之前 ,必须先打通 
2. 可靠传输   //保证数据准确可靠 (tcp协议机制 里面的功能 )
3. 面向字节流程

tcp 客户端:
1.建立通信
socket     
bind (可选)
connect 
2.通信过程 
read 
write 
close 

tcp服务器:
1.建立连接 
socket 
bind   
listen   
accept  
..... 
2.通信过程 
read 
write 
close 
tcp编程:

客户端:

 1、int socket(int domain, int type, int protocol);

 2、int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

 功能:该函数固定有客户端使用,表示从当前主机向目标
            主机发起链接请求。
   参数:sockfd 本地socket创建的套接子id
            addr 远程目标主机的地址信息。
         addrlen: 参数2的长度。
   返回值:成功 0
              失败 -1;
服务器:

 1、int socket(int domain, int type, int protocol);

  2、int bind(int sockfd, struct sockaddr *my_addr, 
             socklen_t addrlen);
功能:如果该函数在服务器端调用,则表示将参数1相关
      的文件描述符文件与参数2 指定的接口地址关联,
      用于从该接口接受数据。

      如果该函数在客户端调用,则表示要将数据从
      参数1所在的描述符中取出并从参数2所在的接口
      设备上发送出去。

      注意:
        如果是客户端,则该函数可以省略,由默认
            接口发送数据。
参数:
      sockfd 之前通过socket函数创建的文件描述符,套接字id
      my_addr 是物理接口的结构体指针。表示该接口的信息。

3,、int listen(int sockfd, int backlog);

功能:监听客户端给的需求

4、int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

功能:接听 ---这一步完成之后 连接就建立好了,之后就可以收发数据 


http://www.mrgr.cn/news/11870.html

相关文章:

  • Android 应用集成百度地图定位SDK
  • Elasticsearch(面试篇)
  • 天下通商城:数字时代的智能消费助手
  • 【Python机器学习】NLP分词——利用分词器构建词汇表(四)——标点符号的处理
  • python网络编程学习笔记
  • 安装Win10操作系统时找不到任何驱动器的解决方法
  • Python(PyTorch)物理变化可微分神经算法
  • HAL库:GPIO唤醒模式 唤醒睡眠模式下的单片机
  • Golang | Leetcode Golang题解之第371题两整数之和
  • 算法笔记|Day33动态规划VI
  • 八、DMA直接存储器存取
  • poi word 添加水印
  • ChatGPT 3.5/4.0 新手使用手册
  • 华为 2024 届校园招聘-硬件通⽤/单板开发——第一套(部分题目分享,完整版带答案,共十套)
  • JAVA var类型详解
  • 运维学习————Docker自制镜像并上传至阿里云以及Docker Compose的使用
  • 深入剖析ASP.NET Core中的身份验证与授权:构建安全可靠的Web应用
  • 云计算day33
  • Oracle字符串聚合函数LISTAGG
  • Golang | Leetcode Golang题解之第375题猜数字大小II