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

整站seo怎么做wordpress集成api

整站seo怎么做,wordpress集成api,邢台网约车资格证哪里申请,网页打包成小程序UDP Socket 网络编程基础概念理解sockaddr 结构,sockaddr_in 结构和sockaddr_un 结构UDP协议UDP Socket编程常用接口创建Socket绑定IP和端口(仅服务端需要)收发数据关闭连接 网络编程基础概念理解 IP地址: IP地址是互联网上每个设…

UDP Socket

  • 网络编程基础概念理解
  • sockaddr 结构,sockaddr_in 结构和sockaddr_un 结构
  • UDP协议
  • UDP Socket编程常用接口
    • 创建Socket
    • 绑定IP和端口(仅服务端需要)
    • 收发数据
    • 关闭连接

网络编程基础概念理解

IP地址: IP地址是互联网上每个设备的唯一标识。
格式:

  • IPv4:4组数字,如 192.168.1.1(共约43亿个,已不足)。
  • IPv6:8组16进制数,如 2001:0db8:85a3::8a2e:0370:7334(解决IPv4不足的问题)。

分类:

  • 公有IP:全球唯一,用于互联网通信。
  • 私有IP:局域网内使用(如 192.168.x.x,10.x.x.x)。


端口号(Port): 区分同一设备上的不同服务或应用程序,标识该主机中的进程。

端口号分类:

  • 知名端口(0-1023):预留给系统服务,如 80(HTTP)、443(HTTPS)、22(SSH)。
  • 注册端口(1024-49151):分配给常见应用,如 3306(MySQL)、3389(远程桌面)。
  • 动态端口(49152-65535):临时分配给客户端程序(如浏览器访问网站时随机生成)。

IP : Port = 标识互联网中该IP对应的主机上对应端口号的进程,也就是套接字Socket。


网络字节序:
计算机在存储多字节数据(如整数、IP地址)时,有两种不同的排列方式:大端序 和 小端序。

网络字节序统一规定网络传输时数据的字节序,为大端序。

为了保证字节排序方式一定相同,从主机发送数据到网络上 和 从网络上接收数据到主机 都需要对数据字节排序方式进行转换。

端口号转换函数:
在这里插入图片描述

#include <arpa/inet.h>  // Linux
// #include <winsock2.h>  // Windowsuint16_t port = 8080;
uint16_t network_port = htons(port);  // 主机序 → 网络序
uint16_t host_port = ntohs(network_port);  // 网络序 → 主机序

IP地址转换函数:
在这里插入图片描述

#include <arpa/inet.h>// 字符串IP → 网络字节序二进制
const char *ip_str = "192.168.1.1";
struct in_addr ip_bin;
if (inet_pton(AF_INET, ip_str, &ip_bin) != 1) {// 转换失败处理
}// 网络字节序二进制 → 字符串IP
char ip_str_buffer[INET_ADDRSTRLEN];
const char *result = inet_ntop(AF_INET, &ip_bin, ip_str_buffer, sizeof(ip_str_buffer));
if (result == NULL) {// 转换失败处理
}

sockaddr 结构,sockaddr_in 结构和sockaddr_un 结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

UDP协议

UDP(User Datagram Protocol 用户数据报协议): 传输层协议,面向数据报,用于需要“高速传输”的场景,例如视频通话、在线游戏等。

核心特性:

  1. 无连接:无需建立连接,直接发送数据(没有三次握手)。
  2. 不可靠传输:不保证数据是否到达、是否按序到达、是否重复。
  3. 轻量高效:没有确认应答、重传、流量控制等机制,传输开销极小,速度极快。
  4. 支持广播/组播:可以一次性向多个设备发送数据(如直播流媒体)。

UDP Socket编程常用接口

创建Socket

接口:socket() 创建通信端点。

#include <sys/socket.h>int socket(int domain, int type, int protocol);

在这里插入图片描述

 int sockfd = socket(AF_INET, SOCK_DGRAM, 0);if (sockfd < 0) {perror("socket creation failed");exit(EXIT_FAILURE);}

绑定IP和端口(仅服务端需要)

接口:bind() 用于将套接字与特定的 IP 地址 和 端口号 绑定,使其能够在该地址和端口上监听或接收数据。

#include <sys/socket.h>int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

在这里插入图片描述

 struct sockaddr_in servaddr;memset(&servaddr, 0, sizeof(servaddr));servaddr.sin_family = AF_INET;servaddr.sin_addr.s_addr = htonl(INADDR_ANY);servaddr.sin_port = htons(8080);if (bind(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr)) < 0) {perror("bind failed");exit(EXIT_FAILURE);}


注: udp客户端不需要显示绑定,系统会自动进行绑定。
服务器端需要一直固定的IP和端口号,而客户端不需要固定的,只需要在每次连接的时候是固定的就行。

收发数据

接口: sendto() 向指定的目标地址发送数据(UDP 是无连接的,每次需明确目标地址)。
在这里插入图片描述

const char* msg = "Hello from UDP server";
struct sockaddr_in destaddr;
destaddr.sin_family = AF_INET;
destaddr.sin_port = htons(8080);
destaddr.sin_addr.s_addr = inet_addr("192.168.1.100");  // 目标IPssize_t n = sendto(sockfd, msg, strlen(msg), 0,(struct sockaddr*)&destaddr, sizeof(destaddr));if (n < 0) {perror("sendto failed");
}//client发数据给server,虽然客户端不需要绑定,但要发给server还是需要
//在struct sockaddr_in server;之后把服务端的端口号和IP赋值给server
//因为客户端需要知道服务端的 IP:Port

接口: recvfrom() 接收数据并获取发送方的地址信息(UDP 需要获取来源地址以回复)。
在这里插入图片描述

char buffer[1024];
struct sockaddr_in cliaddr;
socklen_t len = sizeof(cliaddr);ssize_t n = recvfrom(sockfd, buffer, sizeof(buffer), 0,(struct sockaddr*)&cliaddr, &len);if (n < 0) {perror("recvfrom failed");
}//服务端接收到客户端传来的信息后,cliaddr中就存储进了客户端的IP:端口号

注: recvfrom() 函数会将接收到的数据包中的源地址信息自动填入传进函数的那个结构体中。

关闭连接

接口: close() 用于释放套接字资源。

close(sockfd);  // Linux

文章转载自:

http://s3X4dt7c.bqrtq.cn
http://aiXrr6OZ.bqrtq.cn
http://iUboxPGR.bqrtq.cn
http://DblkXKZv.bqrtq.cn
http://uEYT0XmK.bqrtq.cn
http://Rw4evO9Y.bqrtq.cn
http://duuZTmlq.bqrtq.cn
http://Do9sFBDg.bqrtq.cn
http://TJOo8fco.bqrtq.cn
http://TCwK1DLb.bqrtq.cn
http://Fh9jcs7h.bqrtq.cn
http://UJ1VBKuP.bqrtq.cn
http://5oOirFvk.bqrtq.cn
http://w58Ei695.bqrtq.cn
http://4x5rd2rO.bqrtq.cn
http://q88PJVL9.bqrtq.cn
http://14msYYe3.bqrtq.cn
http://879wPG3i.bqrtq.cn
http://bY5QlCPS.bqrtq.cn
http://iM9gGCmv.bqrtq.cn
http://8X0RRd76.bqrtq.cn
http://okm4tOMZ.bqrtq.cn
http://SfbRDALF.bqrtq.cn
http://KYyvr1wu.bqrtq.cn
http://uH2jCmon.bqrtq.cn
http://etWg8Lda.bqrtq.cn
http://B1pmjGdi.bqrtq.cn
http://wMmdEe7j.bqrtq.cn
http://n0pjHCuY.bqrtq.cn
http://XrzSbZug.bqrtq.cn
http://www.dtcms.com/wzjs/632348.html

相关文章:

  • 微信的微网站模板下载不了怎么申请公司邮箱账号
  • 免费营销型网站wordpress 文章管理
  • 如何提高网站响应速度为什么做的网站搜不出来
  • 网站的宣传推广包括新网站收录多少关键词
  • 任县网站建设优质网站建设价格
  • 静态网站开发课程2023年11月新冠高峰
  • 绿色网站欣赏竞价网络推广托管
  • 网站安全建设方案报告站长工具集
  • 免费淘宝客网站建设wordpress新建网站后台无法登陆
  • 房产网站建设接单企业网站免费模板
  • 搭建网站需要什么技能徐州哪家做网站好
  • 为什么做街舞网站汇编语言做网站
  • wordpress 流量站数码网站建设图片
  • 哪些网站可以接任务做兼职网站设计师发展方向
  • 安徽网站优化建设qq空间网站根目录
  • 百度网站改版工具2023太原封控最新消息查询
  • 贵州省铜仁市城乡建设局网站世界网站制作
  • 张家港建设局网站豪华网站设计
  • 南京响应式网站设计wordpress 搜索 多个词
  • 网站托管费用 优帮云常州低价网站建设公司
  • 青岛网站建设推广公司市场调研的四个步骤
  • 网络网站小程序助手官网
  • 互联网高端官网广州网站优化关键词方法
  • 扫描网站特征dede网站内页怎么做seo
  • 南通网站建设入门加强网站建设的通知
  • 网站建设九亭网营科技是外包公司吗
  • 网上购物最实惠的网站整合营销策划名词解释
  • 想自己做网站 有免费的吗满洲里建设局网站
  • 什么网站需要icp备案263企业邮箱管理员登录入口
  • 如何选择镇江网站建设网站建设的重要性