news 2026/2/6 7:42:26

Linux网络编程-udp

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux网络编程-udp

1.今天的内容包括:udp通信的编程方法、广播通信的方法

2.udp通信

udp和tcp通信方式

2.1socket创建

使用SOCK_DGRAM创建。

2.2发送和接收数据

使用sendto和recvfrom,因为没有建立连接所以每次都要有ip和port,就是使用struct sockaddr地址。

都是六个参数,分别是套接字、缓冲区、缓冲区大小、flag写0、地址、地址长度(sendto是sizeof、recvfrom是一个传出参数,是一个指针)。

2.3显示客户端ip和port的方法

把之前的第五个参数,ip使用inet_ntop来放在缓冲区,把ip地址,从二进制字节序变成字符串,然后port使用ntohs。

3.广播通信

这里和之前的相反是不需要给服务器绑定地址,这里服务器的目的是发送信息,然后需要给客户端绑定广播通信地址。

服务器的套接字使用setsockopt设置,第一个参数是套接字、第二个是SOL_SOCKET、第三个是SO_BROADCASE。

4.总结

udp通信比tcp总结,然后sendto和recvfrom有一点参数的差别,广播通信的特点就是客户端这次绑定地址。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 21:11:28

[从零构建操作系统]08 函数调用时栈的底层行为解析

第一步:在 kernel_init 里安家(黄色区域)代码位置: 右上角 kernel_init 函数开头栈图对应: 左侧黄色的 “局部变量和数据”sub $0x10, %esp动作: 也就是把栈顶指针 esp 往下拉 16 个字节,给 ker…

作者头像 李华
网站建设 2026/2/4 20:07:15

力扣hot100:搜索插入位置

题目描述:题目分析:本题是一个二分查找,核心思路是通过计算中心点和目标值的大小关系,以此在一个while循环里不断更新左右端点,知道左端点大于右端点。代码:class Solution {public int searchInsert(int[]…

作者头像 李华
网站建设 2026/2/4 21:17:34

Java冷启动全指南:从原理到实战优化

一、Java冷启动问题概述 Java冷启动是指应用从启动到达到最佳性能状态的过程,包括JVM初始化、类加载、解释执行、JIT编译等多个阶段。在传统单机部署场景中,冷启动问题并不明显,但在云原生、Serverless架构下,冷启动时间直接影响…

作者头像 李华
网站建设 2026/2/5 12:16:47

测试 - 单元测试(JUnit)

JUnit 官网 Mockito 官网 一、概念 1.1 注解 Test标记一个函数为测试方法。BeforeEach、AfterEach在每个测试方法 前/后 执行,用于 准备/清理 运行环境。BeforeAll、AfterAll在所有测试 前/后 执行(必须是静态方法),用于 执行…

作者头像 李华
网站建设 2026/2/4 21:07:26

C++中多态

文章目录前言一、多态的概念二、多态的定义以及实现三、抽象类四、多态的原理1. 虚函数表2. 多态的原理3. 动态绑定与静态绑定前言 本文中的代码都是在X64环境下编译运行的,涉及的指针都是8bytes,切换其他平台需要考虑指针问题。 一、多态的概念 多态是…

作者头像 李华
网站建设 2026/2/7 0:53:18

c++经典练习题-多分支

目录 1304. 冷饮的价格(2) 1044. 找出最经济型的包装箱型号 1039. 求三个数的最大数 1035. 判断成绩等级 1300. 小明暑假的零花钱 1322. 求数的量级? 1049. 汉译英 1391. 公交卡充值问题? 1668. 运动会成绩统计 1669. 上…

作者头像 李华