首页 > 系统相关 >嵌入式学习DAY32---Linux软件编程---网络编程

嵌入式学习DAY32---Linux软件编程---网络编程

时间:2024-08-16 21:25:41浏览次数:15  
标签:发送 int 编程 DAY32 接口 --- sockfd 接字 接收

目录

一、抓包软件的使用

1.1.wireshark

         1.作用

1.2.UDP包头

二、TCP编程

2.1.发送信息

1.创建套接字

2.配置目的对象信息

3.将自己的端口和ip和套接字绑定

4.建立连接

5.发消息

6.关闭套接字

2.2.接收消息

1.创建套接字

2.配置自己的信息并将自己的端口和ip和套接字绑定

3.检测连接

4.处理链接

5.接收消息

6.关闭连接和套接字

三、总结


一、抓包软件的使用

1.1.wireshark 

        1.作用

                来检测UDP传输出现失败情况,到底时发送端出问题了,还是接收端出问题了;

                如果可以抓取到发送端的端口号,则接收端出问题了;

                如果可以抓取到接送段的端口号,则发送端出问题了;

1.2.UDP包头

                                        ​​​​​​​        

二、TCP编程

2.1.发送信息

1.创建套接字

函数接口:socket

2.配置目的对象信息

3.将自己的端口和ip和套接字绑定

函数接口:bind

发送端中:可以绑定,也可以不绑定,不绑定默认随机端口号;

4.建立连接

函数接口:connect

int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
          功能:
            向接收方发起连接请求
          参数:
            sockfd:套接字文件描述符
            addr:接收方的IP地址和端口号
            addrlen:接收方的IP地址和端口号的大小
          返回值:
            成功返回0 
            失败返回-1 

5.发消息

函数接口:send

ssize_t send(int sockfd, const void *buf, size_t len, int flags);
          功能:
            向接收方发送数据
          参数:
            sockfd:套接字文件描述符
            buf:要发送的数据的首地址 
            len:要发送的数据的长度
            flags:标志位 
          返回值:
            成功返回发送字节数
            失败返回-1 

6.关闭套接字

函数接口:close

2.2.接收消息

1.创建套接字

函数接口:socket

2.配置自己的信息并将自己的端口和ip和套接字绑定

函数接口:bind

3.检测连接

函数接口:listen

int listen(int sockfd, int backlog);
        功能:
            监听发送三次握手连接的套接字,并放入等到处理队列中
        参数:
            sockfd:套接字文件描述符
            backlog:等待队列的大小(最多存放尚未被处理的三次握手请求的个数)
        返回值:
            成功返回0 
            失败返回-1 

4.处理链接

 int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
          功能:
              处理等待队列中的第一个套接字
          参数:
              sockfd:套接字文件描述符 
              addr:存放发送方IP地址的空间首地址
              addrlen:存放发送方IP地址的空间大小
          返回值:
              成功返回一个新的文件描述符
              失败返回-1 

5.接收消息

函数接口:recv

 ssize_t recv(int sockfd, void *buf, size_t len, int flags);
          功能:
            接收发送方发送的数据
          参数:
            sockfd:套接字文件描述符
            buf:接收数据的缓冲区首地址
            len:接收数据的缓冲区的大小
            flags:标志位 
          返回值:
            成功返回实际接收字节数
            失败返回-1 
            对方关闭返回0 

6.关闭连接和套接字

函数接口:close

三、总结

        2024年8月16日,学习的32天。今天算是将网络编程学完了。代码量很大,很难消化。

        加油!

标签:发送,int,编程,DAY32,接口,---,sockfd,接字,接收
From: https://blog.csdn.net/m0_65301172/article/details/141269807

相关文章

  • GLM4与ChatGLM-6B
    GLM4与ChatGLM-6B在多个方面存在区别,以下是对两者差异的详细分析:一、模型规模与参数GLM4:GLM4系列模型,如GLM-4-9B,具有更大的模型规模。以GLM-4-9B为例,其参数量达到90亿,这相比一些较小的模型提供了更强的处理能力和更高的性能。ChatGLM-6B:ChatGLM-6B的参数量相对较少,为62亿。......
  • C安全编程教学-预处理器-避免不安全宏参数的副作用
    注:本课程参考文献《C安全编码标准》 欢迎关注我......
  • IDEA日常爆红:Cannot resolve plugin org.apache.maven.plugins:maven-war-plugin
    一、在写这篇文章之前,我面对这些爆红,第一时间去寻找AI帮助,这些人工智障千篇一律地回答几乎让我奔溃!!终于还是在csdn上找了解决方法,报错问题去csdn还是很不错的选择。以下是解决办法:二、①.在 setting.xml 文件中的镜像源,首先找到这个标签②.在上面标签中插入以下代码<!--......
  • Edge-TTS:文字转语音的魔法棒,让你的世界“声”动起来!
    嘿,听我说,Edge-TTS可不简单!想象一下,你正对着电脑屏幕上的密密麻麻的文字发愁,突然,一根神奇的“魔法棒”——Edge-TTS出现在你眼前。在Edge-TTS在线工具上你轻轻一点,那些静止的文字就像被施了魔法一样,瞬间“活”了起来,变成了一个个生动有趣的声音,在你的耳边跳跃、舞动。Edge-TTS的......
  • 操作系统-系统环境
    一、UNIX系统介绍​诞生于1971年美国AT&T公司的贝尔实验室,主要开发者是丹尼斯.里奇、肯.汤普逊。​ 该系统的主要特点是支持多用户、多任务,并支持多种处理器架构,同时具有高安全性、高可靠性、高稳定性,既可以构建大型关键业务系统的商业服务器,也可以构建面向移动终端、手持设......
  • 2-sat 模板
    2-Sat\[\begin{align*}&\LARGE\color{Red}大意:\\&有n个数a_i,m个约束条件都需要满足\\&条件形如(i,a,j,b)\quada_i=a\\text{or}\a_j=b\\\\\\&\LARGE\color{Red}思路:\\&让a_i表示0,a_{i+n}表示1\\&转换条件表达式成:\\&a_i=a\\\te......
  • 奖牌(medal)--瑶海区T2
    题目2.K13538奖牌(medal)--瑶海区T2(100分)题目描述CCF开展在线测试评奖活动,测试的试题共有5题,每题分值为100分,评奖的规则为:金牌:5题都不能低于85分银牌,有4题不低于85分铜牌:有3题不低于85分铁牌:有2题不低于85分铝牌,有1题不低于85分如果5题都低于85分,那就只能拿个胸牌......
  • PTA 7-30 字符串的冒泡排序
    7-30字符串的冒泡排序(20分)我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。输入格式:输入在第1行中给出N和K(1≤K<N≤100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的......
  • 【CPP】C++模板:初阶到进阶语法与实用编程示例
    关于我:睡觉待开机:个人主页个人专栏:《优选算法》《C语言》《CPP》生活的理想,就是为了理想的生活!作者留言PDF版免费提供:倘若有需要,想拿我写的博客进行学习和交流,可以私信我将免费提供PDF版。留下你的建议:倘若你发现本文中的内容和配图有任何错误或改进建......
  • 【888题竞赛篇】第一题,2023睿抗-出院
    这里写自定义目录标题更多精彩内容256题算法特训课,帮你斩获大厂60W年薪offer,冲击蓝桥杯国一,ICPC/CCPC区域赛获奖原题2023睿抗-出院B站动画详解问题分析思路分析算法实现代码详解标准代码程序C++代码Java代码Python代码Javascript代码复杂度分析时间复杂度分析空间复......