网站建设与推广好做吗,网络推广需要多少费用,云服务器使用教程,猫咪多用户wordpressUDP服务器的创建步骤#xff1a;
一、创建用户数据报套接字#xff08;socket函数#xff09;#xff1a;通信域选择IPV4网络协议、套接字类型选择数据报式#xff1b; int sockfd socket(AF_INET,SOCK_DGRAM,0); 二、填充服务器的网络信息结构体#xff1a;1.定义网络…UDP服务器的创建步骤
一、创建用户数据报套接字socket函数通信域选择IPV4网络协议、套接字类型选择数据报式 int sockfd socket(AF_INET,SOCK_DGRAM,0); 二、填充服务器的网络信息结构体1.定义网络信息结构体变量2.求出结构体变量的内存空间大小3.结构体清零4.使用IPV4网络协议5.预留给在终端输入的网络字节序的端口号6.预留给在终端输入的IP地址 struct sockaddr_in serveraddr; //定义网络信息结构体变量socklen_t serveraddrlen sizeof(serveraddr);//求出结构体变量的内存空间大小memset(serveraddr,0,serveraddrlen); //结构体清零serveraddr.sin_family AF_INET; //使用IPV4网络协议serveraddr.sin_addr.s_addr inet_addr(argv[1]); //IP地址serveraddr.sin_port htons(atoi(argv[2])); //网络字节序的端口号三、套接字和服务器的网络信息结构体进行绑定bind函数 int ret bind(sockfd,(struct sockaddr *)serveraddr,serveraddrlen);四、接收来自客户端的数据recvfrom函数和给客户端发送应答消息sendto函数 int ret1 recvfrom(sockfd,buf,sizeof(buf),0,(struct sockaddr *)clientaddr,clientaddrlen);strcat(buf,------------k);int ret2 sendto(sockfd,buf,sizeof(buf),0,(struct sockaddr *)clientaddr,clientaddrlen);五、关闭套接字close函数 close(sockfd);UDP客户端的创建步骤
一、创建用户数据报套接字socket函数通信域选择IPV4网络协议、数据报式套接字 int sockfd socket(AF_INET,SOCK_DGRAM,0); 二、填充服务器的网络信息结构体1.定义网络信息结构体变量2.求出结构体变量的内存空间大小3.结构体清零4.使用IPV4网络协议5.预留给在终端输入的网络字节序的端口号6.预留给在终端输入的IP地址 struct sockaddr_in serveraddr; socklen_t serveraddrlen sizeof(serveraddr);memset(serveraddr,0,serveraddrlen);serveraddr.sin_family AF_INET; serveraddr.sin_addr.s_addr inet_addr(argv[1]);serveraddr.sin_port htons(atoi(argv[2])); 三、向服务器发送数据sendto函数和接收来自服务器端的应答消息recvfrom函数注意接收来自服务器端的应答消息不需要保存再次保存服务器的网络信息结构体因为未曾修改过 sendto(sockfd,buf,sizeof(buf),0,(struct sockaddr *)serveraddr,serveraddrlen);memset(buf,0,sizeof(buf));//打印应答消息recvfrom(sockfd,buf,sizeof(buf),0,NULL,NULL); printf(应答[%s]\n,buf);四、关闭套接字close函数 close(sockfd);