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

嵌入式day32

recvfrom

参数:

sockfd //socket的fd

buf //保存数据的一块空间的地址

len //这块空间的大小

flags //0 默认的接收方式 --- 阻塞方式

src_addr //用来保存发送方的地址信息

addrlen //表示发送方实际的地址信息大小

返回值:

成功 返回接收到的字节数

失败 返回-1

服务器端 --- 把自己的地址公布出去

bind

如果该函数在服务器端调用,则表示将参数1相关的文件描述符文件与参数2指定的接口地址关联,用于从该接口接受数据。

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

sockfd //之前通过socket函数创建的文件描述符,套接字id

addr //物理接口的结构体指针,表示该接口的信息

返回值:

成功 返回0

失败 返回-1

eg:

客户端从键盘获得数据发给服务器,服务器打印并回发

客户端:

socket

//fgets

sendto

recvfrom

printf

服务器端:

socket

bind

recvfrom //保存了客户端的地址 srcaddr

sprintf

sendto //srcaddr

基于tcp

tcp 客户端:

//建立连接

socket

bind //可选

connect

//通信过程

read

write

close

tcp服务器:

//建立连接

socket

bind

listen //监听客户端的连接请求

accept //这一步完成后 连接就建立好了,之后就可以收发数据

//通信过程

read

write

close

tcp如何建立连接?

tcp三次握手

断开连接

tcp四次回收

tcp客户端:

connect

该函数固定有客户端使用,表示从当前主机向目标主机发起链接请求

参数:

sockfd //本地socket创建的套接字id

addr //远程目标主机的地址信息

addelen //参数addr的长度

返回值:

成功 返回0

失败 返回-1

tcp服务器端:

listen

反应监听那个套接字并且建立成功之后返回一个新的套接字

参数:

sockfd //当前的套接字

backlog //同时可以监听的个数

返回值:

成功 返回0

失败 返回-1

listen会标记下一个被动的socket(这个socket将会被用来接受到来的接受请求)

注意:

其有两个socket

1、监听的socket

2、处理建立连接的socket(后续进行操作的socket)

accept

从监听套接字sockfd的挂起连接队列中提取第一个连接请求,创建一个新的文件描述符,该文件描述符引用这个新套接字。新创建的套接字不处于监听状态。原始套接字sockfd不受此调用的影响

--------------------------------------

嵌入式学习第三十二天,今天讲了UDP剩余部分的内容,了解了两个进程间的通信。还学习了TCP的相关知识,其中包括TCP客户端和服务端的相关知识,以及关于TCP函数的认识和使用。后面继续加油。


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

相关文章:

  • Linux:Bash中的命令介绍(简单命令、管道以及命令列表)
  • 【Docker深入浅出】【四】单体应用容器化与Dockerfile怎么写
  • 【精选】推荐7款AI论文一键生成论文、开题报告和文献综述网站
  • 鹏城杯 2022 取证writeup
  • 秋招力扣Hot100刷题总结——双指针
  • React18快速入门教程
  • 解决 VMware 中 Ubuntu文件系统磁盘空间不足
  • SPI(Service Provider Interface)机制示例及流程图
  • 【MySQL】MyISAM Static 与 MyISAM Dynamic 的区别
  • Apeaksoft Video Converter Ultimate for Mac:强大的视频转换与编辑工具
  • Android开发之滑动冲突解决方案
  • OpenCV几何图像变换(1)映射转换函数convertMaps()的使用
  • WPS将文字文档朗读
  • webpack--webpack的启用
  • 使用ftl文件导出时,多层嵌套循环
  • Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
  • 微信小程序--31(todolist案例)
  • 电商场景的视频生成的prompt测评集合
  • Python---类
  • 请说一下单例模式的概念及应用场景