news 2026/9/2 8:12:34

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/9/2 9:50:12

提升SEO效率:2025年真正有效的8款AI工具终极清单

AI SEO工具可以节省大量研究、内容和报告时间——但并非所有工具都能兑现承诺。 在亲自测试了数十个工具后,我筛选出八个真正能用的工具,帮助你: 追踪并提升AI生成搜索结果中的可见度更快地规划和优化内容自动化技术、内容和公关工作流程 以下…

作者头像 李华
网站建设 2026/9/1 16:56:00

常用软件工具的使用(1) ---- git 的安装和基础操作

目录 git 安装和配置git 仓库创建克隆远程仓库git 基础操作 git 安装和配置 sudo apt-get install git安装成功后查看git的版本 git --version git version 2.17.1配置 git 的用户信息 git config --global user.name "tony" git config --global user.email tony…

作者头像 李华
网站建设 2026/9/1 22:50:25

【JavaWeb】Servlet继承结构

目录ServletGenericServletServlet public interface Servlet {// 初始化方法,构造完毕后,由tomcat自动调用完成初始化功能的方法void init(ServletConfig var1) throws ServletException;// 获得ServletConfig 对象的方法ServletConfig getServletConf…

作者头像 李华
网站建设 2026/9/2 16:51:38

MATLAB与FlightGear联合仿真教程:包含Simulink工程文件的PDF指南

MATLAB与FlightGear联合仿真教程PDF,加上simulink工程文件由于篇幅限制,我无法直接为您提供一个完整的文章。但我可以为您提供一个简要的MATLAB与FlightGear联合仿真教程的大纲以及Simulink工程文件的使用说明。MATLAB与FlightGear联合仿真教程一、引言本…

作者头像 李华
网站建设 2026/9/2 15:15:47

每天一个假设-day5:如何提高测试人员和开发人员的协作效率

提高测开协作效率的核心是“前置对齐预期、减少沟通成本、建立信任闭环”,落地可从“流程机制、工具提效、意识统一”三个维度切入,9个具体方法直接可执行:一、流程机制:用“规则”减少协作摩擦(从“事后扯皮”到“事前…

作者头像 李华
网站建设 2026/9/2 14:42:04

Flutter国际化(i18n)实现详解

欢迎大家加入开源鸿蒙跨平台开发者社区,一起共建开源鸿蒙跨平台生态。 Flutter国际化(i18n)实现详解 Flutter的国际化(Internationalization,简称i18n)是开发多语言应用的关键技术,它涉及多语…

作者头像 李华