腾讯云网站建设流程wordpress教程安装教程

张小明 2026/1/9 1:26:49
腾讯云网站建设流程,wordpress教程安装教程,数字重庆公司,杭州网站优化流程前言#xff1a;我们有了IP定位到对应的主机的概念后#xff0c;信息传递到对应的主机后#xff0c;而主机中有那么多的进程#xff0c;该怎么知道把信息交给主机中的哪个进程呢#xff1f;一、端口号IP 到 端口号#xff1a;如何精准定位我们在网络层通过 IP 地址找到了…前言我们有了IP定位到对应的主机的概念后信息传递到对应的主机后而主机中有那么多的进程该怎么知道把信息交给主机中的哪个进程呢一、端口号IP 到 端口号如何精准定位我们在网络层通过 IP 地址找到了目标主机但这并不是终点。传输的真正目的数据并不是要发给“主机”这个铁壳子而是发给正在运行的人使用的程序比如你正在用的微信、浏览器。进程的代表在操作系统中人通过启动进程来完成任务。所以数据传输的最终目的地是主机内部的某个特定进程。端口号 (Port) 的作用既然已经到了目标主机系统中有那么多进程怎么知道数据该给谁这就需要端口号。定义端口号是一个2字节 (16位)的整数 。功能用来标识主机上唯一的一个网络进程 。绑定规则一个端口号只能被一个进程占用但一个进程可以绑定多个端口号 。端口号范围划分0 - 1023 (知名端口)HTTP (80), FTP (21), SSH (22) 等级协议专用的我们自己写程序尽量别碰 。1023 - 65535 (动态端口)操作系统动态分配的或者我们自己写服务器时绑定的就在这儿挑 。思考为什么不用 PID (进程ID)PID 是系统层面的唯一标识确实也能找到进程。但如果网络协议直接绑定 PID一旦操作系统调整了 PID 的分配策略网络协议就得跟着改。使用端口号可以将网络管理与系统进程管理解耦 。二、什么是 Socket搞懂了 IP 和 端口号Socket 的概念就水到渠成了。Socket (套接字)本质就是IP地址 端口号。唯一性IP标识了全网唯一的主机Port标识了该主机上唯一的进程。所以IP Port就能标识互联网中独一无二的一个进程。通信本质网络通信的本质其实就是两个互联网进程之间的 IPC (进程间通信)。三、传输层协议初识TCP vs UDP在写 Socket 代码前得先选好用哪种协议。Linux 内核在传输层主要提供了两种选择特性TCP (传输控制协议)UDP (用户数据报协议)连接性有连接(打电话先接通)无连接(发短信直接发)可靠性可靠传输(保证数据送达)不可靠传输(丢了不管)数据形式面向字节流面向数据报注详细的 TCP/UDP 机制后续会有专门章节目前只需知道这些区别即可 。三、 网络字节序我们都知道内存里的数据有大端和小端之分。大端高位字节存放在低地址。小端低位字节存放在低地址我们常用的 x86 架构大多是小端。为什么网络编程要注意这个这就好比两个不同方言的人说话。如果发送端主机是小端机它把一个 32 位的整数比如 IP 地址按内存地址从低到高发出去而接收端可能是大端机或者网络协议规定了不同的读法那数据就全乱套了。为了解决这个问题TCP/IP 协议强行规定网络数据流应采用大端字节序即低地址高字节。这意味着不管你的主机是大端还是小端发数据前必须把数据转成大端网络字节序。收数据后必须把数据从大端转回主机字节序。我们可用举个例子假设我们要发一个0x1234abcd发送端通常将发送缓冲区的数据按内存地址从低到高发出网络流规定先发出的数据认为是高位。如果是小端机内存里存的是cd ab 34 12低位在低地址。如果不转换直接发网络那边读出来的就是0xcdab3412这就错了。转换函数Linux 提供了arpa/inet.h库函数来做转换。为了代码的可移植性写网络程序必须调用这些函数不要自己手写位移操作。这些函数名非常好记h代表 host主机n代表 network网络s代表 short16位l代表 long32位。发送时Host to Network#include arpa/inet.h // 用来转换32位 uint32_t htonl(uint32_t hostlong); // 用来转换16位 uint16_t htons(uint16_t hostshort);如果主机本身就是大端这些函数什么都不做直接返回原值 如果是小端它会自动帮你翻转接收时Network to Hostuint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshort);四、Socket 编程接口 (Socket API)Socket API 是系统调用属于 OS 内核提供的功能。所有的网络功能必须通过系统调用来实现常见 API 一览写 TCP 服务器/客户端的“五板斧”1. socket创建套接字相当于买个手机// domain: 协议族 (AF_INET 用IPv4) // type: 服务类型 (SOCK_STREAM 用TCP, SOCK_DGRAM 用UDP) int socket(int domain, int type, int protocol);2. bind绑定端口和IP相当于给手机插卡固定号码// 这里的 struct sockaddr* 是个通用指针 int bind(int socket, const struct sockaddr *address, socklen_t address_len);3. listen监听TCP服务器专用相当于设置手机响铃模式int listen(int socket, int backlog);4. accept接收连接TCP服务器专用相当于有人打进来了你按接听int accept(int socket, struct sockaddr *address, socklen_t* address_len);5. connect发起连接TCP客户端专用相当于拨号。int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);在看bind或connect的函数原型时你会发现参数类型都是struct sockaddr *。但实际上我们在写 IPv4 程序时定义的却是struct sockaddr_in。这是为什么sockaddr(通用结构体)Socket API 是一层抽象接口它不仅支持 IPv4还支持 IPv6、UNIX Domain Socket 等各种协议 。 为了能让bind等函数接收各种协议的地址OS 定义了一个通用的结构体struct sockaddr { unsigned short sa_family; // 16位地址类型 (AF_INET, AF_UNIX...) char sa_data[14]; // 14字节的地址数据 };这个结构体很难用因为它的 IP 和 Port 是混在一起存在sa_data里的。sockaddr_in(IPv4 专用结构体)而为了方便操作OS使用专门针对 IPv4 设计的结构体 struct sockaddr_in { short int sin_family; // 地址族 unsigned short int sin_port; // 16位端口号 struct in_addr sin_addr; // 32位IP地 unsigned char sin_zero[8]; // 8字节填充为了和 struct sockaddr 大小保持一致 };注意struct in_addr里面其实就是一个uint32_t s_addr用来存 32 位的 IP 地址 。内存模型与强制类型转换虽然上述两种结构体定义不同但它们的大小是一样的而且前 16 位2字节都是family字段。只要取得了结构体的首地址OS 就可以根据前 16 位的family字段判断这是 IPv4 还是 IPv6 。我们在代码中定义sockaddr_in进行赋值然后在调用 API 时强制类型转换为struct sockaddr *。实际代码使用示例#include netinet/in.h #include arpa/inet.h struct sockaddr_in local; // 1. 清空结构体 (有的系统会有垃圾值) bzero(local, sizeof(local)); // 2. 填充协议族 local.sin_family AF_INET; // IPv4 // 3. 填充端口号 (注意字节序转换) local.sin_port htons(8080); // 4. 填充IP地址 (INADDR_ANY 表示绑定本机所有网卡) // htonl转换IP虽然 INADDR_ANY 是0转不转都一样但好习惯要养成 local.sin_addr.s_addr htonl(INADDR_ANY); // 5. 强转传参 bind(sockfd, (struct sockaddr*)local, sizeof(local));
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网上购物网站建设方案河南建设集团有限公司

一、技术实现核心前置条件在进行技术开发前,需先完成以下准备工作,确保后续开发顺畅:已拥有认证通过的微信服务号,获取到核心凭证:AppID(应用唯一标识)、AppSecret(应用密钥&#xf…

张小明 2025/12/28 6:40:23 网站建设

做立体字的网站js 访问wordpress

Linly-Talker与讯飞语音引擎兼容性测试报告 在智能交互系统加速落地的今天,数字人正从“炫技展示”走向“真实服务”。无论是银行大厅里的虚拟柜员,还是线上课堂中的AI助教,用户对“像人一样说话”的期待越来越高——不仅要答得准&#xff0c…

张小明 2025/12/28 6:40:19 网站建设

可以直接进入网站的正能量网站做国外网站需要多少钱

Wan2.2-T2V-5B在电商产品展示视频中的自动化应用 在抖音、快手、小红书等短视频平台主导流量分发的今天,商品有没有一段“会说话”的动态展示视频,几乎直接决定了它能否被用户注意到。尤其在淘宝、京东、拼多多这类拥有数亿SKU的综合电商平台&#xff0c…

张小明 2025/12/28 6:40:06 网站建设

免费建网站推广做网站的软件word

哨兵节点与快慢指针:轻松破解链表算法题🔗 在链表相关的算法题中,边界条件处理往往是最让人头疼的 —— 比如删除头节点、链表为空、环的判断等。今天就来聊聊两个 “神器”:哨兵节点(dummy node) 和快慢指…

张小明 2025/12/28 6:40:38 网站建设

公司网站数据库网络营销主要是什么

最近行业群里热议一个话题:“AI都能写代码、做运维、搞架构设计了,未来IT从业者是不是要集体失业?” 抛出这个问题的,是刚入行不久的年轻程序员——他亲眼见过AI工具在10分钟内写出一套基础管理系统的代码,效率远超自己…

张小明 2025/12/28 6:40:54 网站建设

匀贵网站建设商丘市网站建设公司

Mac用户的NTFS救星:免费实现完美读写全攻略 【免费下载链接】Free-NTFS-for-Mac Nigate,一款支持苹果芯片的Free NTFS for Mac小工具软件。NTFS R/W for macOS. Support Intel/Apple Silicon now. 项目地址: https://gitcode.com/gh_mirrors/fr/Free-N…

张小明 2026/1/5 22:16:23 网站建设