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

unix网络编程

unix网络编程

AI出来以后,软件不可能找到工作的,就算找到了也在走下坡路。再过几年,机器人发展起来,连流水线都找不到。人为什么整体不值钱,每个部位却很值钱。你说我初中辍学就去开直播结局会不会比现在好。

更新ing

1. 常用结构体/函数/常量

1. ip地址与端口号

常见常量

//地址族af
AF_INET(IPv4)
AF_INET6(IPv6)

表示 IPv4 地址和端口号的结构体

#include <stdio.h>
#include <arpa/inet.h>
struct sockaddr_in {sa_family_t    sin_family;   // 地址族,通常是 AF_INET(IPv4)in_port_t      sin_port;     // 端口号(16 位,网络字节序)struct in_addr sin_addr;     // IPv4 地址(32 位,网络字节序)char           sin_zero[8];  // 填充字段,通常设置为 0
};struct in_addr {//用于表示ipv4in_addr_t s_addr; // 32 位 IPv4 地址(网络字节序)//in_addr_t 通常是 uint32_t(32 位无符号整型)。
};

表示 IPv6 地址和端口号的结构体

#include <netinet/in.h>struct sockaddr_in6 {sa_family_t     sin6_family;    // 地址族,IPv6 是 AF_INET6in_port_t       sin6_port;      // 端口号uint32_t        sin6_flowinfo;  // IPv6 流信息,用于标识数据流的优先级和 QoS(服务质量)struct in6_addr sin6_addr;      // IPv6 地址uint32_t        sin6_scope_id;  // 接口范围 ID,用于标识链路本地地址的接口,通常为0
};
struct in6_addr {union {uint8_t  __u6_addr8[16];  // 16 个 8 位无符号整数uint16_t __u6_addr16[8];   // 8 个 16 位无符号整数uint32_t __u6_addr32[4];   // 4 个 32 位无符号整数} __in6_u;                    // 联合体,用于以不同方式访问 IPv6 地址
};

ip地址字符串格式与二进制格式互转(均支持ipv4)

函数功能错误返回值支持 IPv6线程安全
in_addr_t inet_addr(const char *cp);字符串 → 二进制-1✔️
int inet_pton(int af, const char *src, void *dst);字符串 → 二进制0或-1✔️✔️
int inet_aton(const char *cp, struct in_addr *inp);字符串 → 二进制0✔️
const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);二进制 → 字符串null✔️✔️
char *inet_ntoa(struct in_addr in);二进制 → 字符串指向静态缓冲区的指针

端口号网络字节序(大端序)与主机字节序互相转换

#include <arpa/inet.h>
uint16_t htons(uint16_t hostshort); //将主机字节序的端口号转换为网络字节序。
uint16_t ntohs(uint16_t netshort); //将网络字节序的端口号转换为主机字节序。

相关文章:

unix网络编程

unix网络编程 AI出来以后&#xff0c;软件不可能找到工作的&#xff0c;就算找到了也在走下坡路。再过几年&#xff0c;机器人发展起来&#xff0c;连流水线都找不到。人为什么整体不值钱&#xff0c;每个部位却很值钱。你说我初中辍学就去开直播结局会不会比现在好。 更新in…...

常考计算机操作系统面试习题(一下)

目录 操作系统基本类型 操作系统的功能 操作系统的主要任务 进程与线程 进程状态转变 内存管理 文件系统与文件管理 虚拟存储器 设备管理 磁盘调度 死锁 信号量机制 文件打开与管理 进程与线程的互斥与同步 进程同步 进程调度 文件分配磁盘块的方法 程序执行…...

2025_0321_生活记录

刚刚写完待会儿早上要汇报的文档&#xff0c;看了一眼时间&#xff0c;现在已经是凌晨2点多了。一直说要早睡&#xff0c;但是一直都没做到。。。算了&#xff0c;不苛求自己了。 昨天是春分&#xff0c;春分秋分&#xff0c;昼夜平分。不知不觉就到春天了&#xff0c;但房间里…...

三层网络 (服务器1 和 服务器2 在不同网段)

服务器1 和 服务器2 在不同网段&#xff0c;并且通过三层交换机实现通信 1. 网络拓扑 假设网络拓扑如下&#xff1a; 服务器1&#xff1a; mac0&#xff1a;IP 地址 192.168.1.10/24&#xff0c;网关 192.168.1.1 mac1&#xff1a;IP 地址 10.0.1.10/24&#xff0c;网关 10.0…...

AI Tokenization

AI Tokenization 人工智能分词初步了解 类似现在这个&#xff0c;一格子 一格子&#xff0c;拼接出来的&#xff0c;一行或者一句&#xff0c;像不像&#xff0c;我们人类思考的时候组装出来的话&#xff0c;并用嘴说出来了呢。...

关于大数据的基础知识(四)——大数据的意义与趋势

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于大数据的基础知识&#xff08;四&a…...

某视频的解密下载

下面讲一下怎么爬取视频&#xff0c;这个还是比小白的稍微有一点绕的 首先打开网址&#xff1a;aHR0cDovL3d3dy5wZWFydmlkZW8uY29tL3BvcHVsYXJfNA 首页 看一下&#xff1a; 有一个标题和一个href&#xff0c;href只是一个片段&#xff0c;待会肯定要拼接&#xff0c; 先找一…...

Day20-前端Web案例——部门管理

目录 部门管理1. 前后端分离开发2. 准备工作2.1 创建Vue项目2.2 安装依赖2.3 精简项目 3. 页面布局3.1 介绍3.2 整体布局3.3 左侧菜单 4. Vue Router4.1 介绍4.2 入门4.3 案例4.4 首页制作 5. 部门管理5.1部门列表5.1.1. 基本布局5.1.2 加载数据5.1.3 程序优化 5.2 新增部门5.3…...

从切图仔到鸿蒙开发01-文本样式

从切图仔到鸿蒙开发01-文本样式 本系列教程适合 HarmonyOS 初学者&#xff0c;为那些熟悉用 HTML 与 CSS 语法的 Web 前端开发者准备的。 本系列教程会将 HTML/CSS 代码片段替换为等价的 HarmonyOS/ArkUI 代码。 页面结构 HTML 与 ArkUI 在 Web 开发中&#xff0c;HTML 文档结…...

菱形虚拟继承的原理

一 &#xff1a;菱形继承的问题 普通的菱形继承存在数据冗余和二义性的问题 &#xff0c;如下代码&#xff1a; class Person { public:string _name; //姓名 };class Student : public Person { protected:int _num; //学号 };class Teacher : public Person { protected:int…...

【数据结构】C语言实现树和森林的遍历

C语言实现树和森林的遍历 导读一、树的遍历二、森林的遍历2.1 为什么森林没有后序遍历?2.2 森林中存不存在层序遍历?三、C语言实现3.1 准备工作3.2 数据结构的选择3.3 树与森林的创建3.4 树与森林的遍历3.4.1 先根遍历3.4.2 后根遍历3.4.3 森林的遍历3.5 树与森林的销毁3.6 算…...

第四天 开始Unity Shader的学习之旅之Unity中的基础光照

Unity Shader的学习笔记 第四天 开始Unity Shader的学习之旅之Unity中的基础光照 文章目录 Unity Shader的学习笔记前言一、我们是如何看到这个世界的1. 光源2.吸收和散射3.着色 二、标准光照模型1. 自发光2. 高光反射① Phong模型② Blinn-Phong模型 3.漫反射4.环境光 总结 前…...

基于SpringBoot的“社区居民诊疗健康管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“社区居民诊疗健康管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统模块功能结构图 局部E-R图 系统首…...

React Native集成到现有原生Android应用

使用React Native(以下简称RN)从头开始制作一个新的应用会是一个非常好的选择。但如果只想给现有的原生应用中添加一两个视图或是业务流程,RN也同样不在话下。只需简单几步,就可以给原有应用加上新的基于RN的特性、画面和视图等。 一、核心概念 把 React Native 组件集成…...

Java-空链基础入门

经过调研和细致观察&#xff0c;我们发现空链对于初次接触或是对Stream和Optional不太熟悉的人来说&#xff0c;确实存在一定的上手难度&#xff0c;宛如开启了“地狱模式”。为了降低这一门槛&#xff0c;我们决定通过一系列由简入深的案例演示&#xff0c;来逐步引导大家掌握…...

【江协科技STM32】Unix时间戳BKP备份寄存器RTC实时时钟(学习笔记)

Unix时间戳 Unix 时间戳&#xff08;Unix Timestamp&#xff09;定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数&#xff0c;不考虑闰秒时间戳存储在一个秒计数器中&#xff0c;秒计数器为32位/64位的整型变量世界上所有时区的秒计数器相同&#xff0c;不同时区通过…...

PCDN网络设备

PCDN&#xff08;Peer-to-Peer Content Delivery Network&#xff0c;点对点内容分发网络&#xff09;是一种基于P2P技术的内容分发网络。它利用用户终端设备之间的直接数据传输来减少中心服务器的压力&#xff0c;并提高内容交付的速度和效率。 PCDN的工作原理 节点共享&…...

3.17-3.23 Web3 游戏周报:Pixudi 双榜领跑,The Forgotten Runiverse 登陆三大主机平台

回顾上周的区块链游戏概况&#xff0c;查看 Footprint Analytics 与 ABGA 最新发布的数据报告。 【3.17–3.23】Web3 游戏行业动态 Ronin 将与 Alpha Growth 等合作推出 1300 万美元增长计划&#xff0c;以向 DeFi 扩张Notcoin 开发工作室 Open Builders 宣布推出 Not Games …...

AppInventor2生成3位数的水仙花数

生成3位水仙花数&#xff08;每位数字的立方之和刚好等于这个数字&#xff09;的代码&#xff0c;如下&#xff1a; 来源&#xff1a;【生成Python】AppInventor2中文网已支持代码块转换Python源码&#xff01; - App Inventor 2 中文网 - 清泛IT社区&#xff0c;为创新赋能&…...

【聚类算法解析系列02】经典聚类算法(上)——K-Means与层次聚类

【聚类算法解析系列02】经典聚类算法&#xff08;上&#xff09;——K-Means与层次聚类 引言&#xff1a;算法背后的认知革命 K-Means与层次聚类&#xff0c;这两个诞生于1960年代的算法&#xff0c;至今仍是工业界使用率最高的聚类工具。它们分别代表了两种根本性的世界观&am…...

shadcn如何给dialog增加关闭按钮和隐藏右上角关闭按钮

增加关闭按钮&#xff1a; <DialogFooter><DialogClose asChild><button className"rounded-sm bg-black/100 px-3 py-2 text-xs font-semibold text-white shadow-xs hover:bg-black/90" >Close</button></DialogClose> </DialogF…...

华为机试牛客刷题之HJ59 找出字符串中第一个只出现一次的字符

HJ59 找出字符串中第一个只出现一次的字符 描述 对于给定的字符串&#xff0c;找出第一个只出现一次的字符。如果不存在&#xff0c;则输出 −1。 输入描述&#xff1a; 在一行上输入一个长度为 1≦len(s)≦10^3 、仅由小写字母构成的字符串 s。 输出描述&#xff1a; 如果存…...

C# 中实现一个线程持续读取,另一个线程负责写入,且写入时读取线程暂停

实现思路 暂停信号&#xff1a;通过 ManualResetEventSlim 通知读取线程暂停。 暂停确认&#xff1a;读取线程收到暂停信号后&#xff0c;发送确认信号。 原子性控制&#xff1a;确保写入操作执行期间&#xff0c;读取线程处于完全暂停状态。 恢复机制&#xff1a;写入完成后…...

[Effective C++]条款22:将成员变量声明为private

. 在C中&#xff0c;将成员变量声明为private而不是public&#xff0c;主要是为了遵循面向对象编程&#xff08;OOP&#xff09;的封装原则。他有助于隐藏对象的内部实现细节&#xff0c;提供更好地控制&#xff0c;安全性和可维护性。 1、数据隐藏与封装 将成员变量声明为pr…...

心法利器[132] | 大模型系统性能优化trick

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。 2023年新的文章合集已经发布&#xff0c;获取方式看这里&#xff1a;又添十万字-CS的陋室2023年文章合集来袭&#xff0c;更…...

Android第六次面试总结(Java设计模式篇一)

单例模式属于创建型设计模式&#xff0c;它保证一个类仅有一个实例&#xff0c;并且提供一个全局访问点来获取该实例。下面为你详细阐述单例模式的好处和坏处。 好处 资源优化&#xff1a;单例模式能保证一个类只有一个实例&#xff0c;这对于那些创建和销毁开销大的对象&…...

stm第九天433M无线遥控灯

1.433M无线模块工作原理 数据发射模块的工作频率为315M&#xff0c;采用声表谐振器SAW稳频&#xff0c;频率稳定度极高&#xff0c;当环境温度在-25~85度之间变化时&#xff0c;频飘仅为3ppm.接收到信号&#xff0c;接收模块对应针脚输出高电平&#xff0c;有DO D1 D2 D3&#…...

六十天前端强化训练之第三十天之深入解析Vue3电商项目:TechStore全栈实践(文结尾附有源代码)

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 深入解析Vue3电商项目&#xff1a;TechStore全栈实践 一、项目架构设计 二、核心功能实现 三、组合式API深度实践 四、性能优化实践 五、项目扩展方向 六、开发经验总结…...

类与对象(中)(详解)

【本节目标】 1. 类的6个默认成员函数 2. 构造函数 3. 析构函数 4. 拷贝构造函数 5. 赋值运算符重载 6. const成员函数 7. 取地址及const取地址操作符重载 1.类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&…...

Spring Boot框架中常用注解

以下是Spring Boot框架中常用注解的详细说明&#xff0c;包括名称、用途、用法、使用位置及扩展示例&#xff0c;按功能模块分类整理&#xff1a; 一、核心启动与配置注解 1. SpringBootApplication 用途&#xff1a;主启动类注解&#xff0c;整合了 Configuration、EnableAu…...