最后更新:2022-07-01 10:40:40 手机定位技术交流文章
P1.IP地址格式
IP地址是一个32位二进制数,通常由点__二进制数表示
print(10) //这是Python
**************************************************
P2.IP地址类和子网掩盖
IP地址属于__类地址,其默认子网编码为__
print("C")
print("255.255.255.0")
//这是一只松鼠
**************************************************
P3.TCP/IP四层模型
打印("应用层")
打印("传输层")
打印("网络接口层")
//这是一只松鼠
**************************************************
P4. 网络字节序
现有的BigEndian数据:0x12 34 56 78,转换为小端序列输出。
#include<stdio.h>
#include<arpa/inet.h>
int main(){
unsigned long a;
unsigned long b;
scanf("%x",&a);
b=htonl(a);
printf("%#lx",b);
return 0;
}
**************************************************
P5.TCP类型接口的初始化
完成以下初始化TCP插座代码(填空3个参数):
#include <stdio.h>
int main() {
printf("socket(PF_INET,SOCK_STREAM,0);");
return 0
}
**************************************************
P6.转换IP地址
IP地址通常是字符串类型,例如:"系统提供了inet_addr()函数,将字符串类型的IP地址转换为32位网络序列的整数数据。
#include <stdio.h>
#include <arpa/inet.h>
int main()
{
int s1,s2,s3,s4;
char ip_addr[20];
scanf("%d.%d.%d.%d", &s1, &s2, &s3, &s4);
sprintf(ip_addr,"%d.%d.%d.%d",s1,s2,s3,s4);
unsigned long addr=inet_addr(ip_addr);
printf("%#lx",addr);
}
**************************************************
P7.转换IP地址(II)
该系统提供了将IP地址转换的第二个方法,除了inet_addr()它还提供了inet_aton()、inet_ntoa()两个方法:
inet_aton()//字符串转换整数
inet_ntoa()//整数转换字符串
请调用inet_aton()转换字符串类型的IP地址
#include<stdio.h>
#include<arpa/inet.h>
int main() {
struct sockaddr_in addr_inet;
int s1,s2,s3,s4;
char ip_addr[20];
scanf("%d.%d.%d.%d", &s1, &s2, &s3, &s4);
sprintf(ip_addr,"%d.%d.%d.%d",s1,s2,s3,s4);
inet_aton(ip_addr,&addr_inet.sin_addr);
printf("%#x",addr_inet.sin_addr.s_addr);
return 0;
}
**************************************************
P8.转换IP地址(II)
该系统提供了将IP地址转换的第二个方法,除了inet_addr()它还提供了inet_aton()、inet_ntoa()两个方法:
inet_aton()//字符串转换整数
inet_ntoa()//整数转换字符串
请调用inet_ntoa()转换整数数据
**************************************************
P9.服务器端函数调用过程
服务器端启动了一个语音服务端,它使用一系列可以最终接受和显示的功能。 在图中打印函数名称1-5
#include <stdio.h>
int main() {
printf("socket()n");
printf("bind()n");
printf("listen()n");
printf("accept()n");
printf("close()n");
return 0;
}
**************************************************
P10.客户函数调用过程
与服务端调用过程类似,客户在TCP协议中也有自己的调用过程。请打印具体功能名称1-3
#include <stdio.h>
int main() {
printf("socket()n");
printf("connect()n");
printf("close()n");
return 0;
}
三次握手
print("SYN")
print("SYN+ACK")
print("ACK")
//Python
三手消息(java)
public class Main {
public static void main(String[] args) {
System.out.println("SYN");
System.out.println("SYN+ACK");
System.out.println("ACK");
}
}
三手消息(CC++)
#include<stdio.h>
int main(){
printf("SYNn");
printf("SYN+ACKn");
printf("ACKn");
return 0;
}
本文由 在线网速测试 整理编辑,转载请注明出处。