当前位置: 首页> 健康> 美食 > 如何新建一个网页页面_张槎建网站_培训网站建设_安卓系统最好优化软件

如何新建一个网页页面_张槎建网站_培训网站建设_安卓系统最好优化软件

时间:2025/7/13 22:06:46来源:https://blog.csdn.net/qq_43920838/article/details/143558403 浏览次数:0次
如何新建一个网页页面_张槎建网站_培训网站建设_安卓系统最好优化软件

目录

  • socket
  • 字节序
    • 字节序转换函数
  • socket地址
  • IP地址转换
  • TCP通信流程
  • 套接字函数

socket

套接字,与管道类似,应用于网络进程间数据的传递。而管道主要应用于本地进程间的通信
服务器端被动接受连接,一般不会主动发起连接。客户端主动向服务器发起连接。就像一个插座一样。

字节序

小端字节序:整数的低位字节存储在低位地址,整数的高位字节存储在内存的高位地址
目前大部分计算机都用的小端字节序,当然也有例外用的大端字节序。如果不同计算机通信时用的字节序不一样,那么就会出问题

#include<stdio.h>int main(){union{short value;//2字节char bytes[sizeof(short)];//char[2]} test;test.value=0x0102;if((test.bytes[0]==1)&&(test.bytes[1]==2)){printf("大端字节序\n");}else if((test.bytes[0]==2)&&(test.bytes[1]==1)){printf("小端字节序\n");}else{printf("未知\n");}return 0;
}

在这里插入图片描述

字节序转换函数

htons 转换端口

#include <stdio.h>
#include <arpa/inet.h>int main(){//htonsunsigned short a=0x0102;unsigned short b=htons(a);printf("a:%x\n",a);printf("b:%x\n",b);return 0;
}

在这里插入图片描述
htonl 转换IP

#include <stdio.h>
#include <arpa/inet.h>int main(){//htonsunsigned short a=0x0102;unsigned short b=htons(a);printf("a:%x\n",a);printf("b:%x\n",b);//htonl 转换IPchar buf[4]={192,168,1,100};int num=*(int *)buf;int sum=htonl(num);unsigned char *p=(char *)&sum;printf("%d %d %d %d\n",*p,*(p+1),*(p+2),*(p+3));return 0;
}

在这里插入图片描述
变成了网络字节序

#include <stdio.h>
#include <arpa/inet.h>int main(){//htonsunsigned short a=0x0102;unsigned short b=htons(a);printf("a:%x\n",a);printf("b:%x\n",b);//htonl 转换IPchar buf[4]={192,168,1,100};int num=*(int *)buf;int sum=htonl(num);unsigned char *p=(char *)&sum;printf("%d %d %d %d\n",*p,*(p+1),*(p+2),*(p+3));//ntohsunsigned char buf1[4]={1,1,168,192};int num1=*(int *)buf1;int sum1=ntohl(num1);unsigned char *p1=(unsigned char *)&sum1;printf("%d %d %d %d\n",*p1,*(p1+1),*(p1+2),*(p1+3));return 0;
}

在这里插入图片描述

socket地址

socket是一个结构体,用于封装端口号和IP等信息

IP地址转换

将点分十进制的字符串,转换为一个整数

在这里插入图片描述
将网络字节序的IP整数转换成点分十进制的IP字符串
在这里插入图片描述

#include<arpa/inet.h>
#include<stdio.h>int main(){//创建一个ip字符串char buf[]="192.168.1.4";unsigned int num=0;//将巅峰十进制的IP字符串转换成网络字节序的整数inet_pton(AF_INET,buf,&num);unsigned char * p=(unsigned char *)&num;printf("%d %d %d %d\n",*p,*(p+1),*(p+2),*(p+3));//将网络字节序的IP整数转换成点分十进制的IP字符串char ip[16]="";const char * str =inet_ntop(AF_INET,&num,ip,16);printf("%s\n",str);return 0;
}

TCP通信流程

UDP适合用于实时应用(视频会议、直播),TCP适合可靠性高的应用(文件传输)。UDP在数据传输过程中不可靠,可能会丢失

套接字函数

关键字:如何新建一个网页页面_张槎建网站_培训网站建设_安卓系统最好优化软件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: