为了账号安全,请及时绑定邮箱和手机立即绑定

作业社区

探索学习新天地,共享知识资源!

0 提交作业
0 布置作业
0 满分作业
得分 100
学习任务

史啦啦 的学生作业:

【图片】 /* 大家自己看懂老师的代码后,自己编写udp多进程并发服务器的代码。并和网络调试助手调试成功后。 把服务器相关代码上传即可。 * * */ #include #include #include #include #include #include #include #include #include #include #include #define PORT 9090 #define SERVER_IP "192.168.1.4" #define BUFF_SIEZ 1024 void handle_client(int sockfd,struct sockaddr_in client_addr,char *buffer) { pid_t pid = fork(); if(pid == 0) { char client_ip[INET_ADDRSTRLEN]; inet_ntop(AF_INET,&(client_addr.sin_addr),client_ip,INET_ADDRSTRLEN); int client_port = ntohs(client_addr.sin_port); printf("[PID : %d]收到来自 %s:%d 的请求\n",getpid(),client_ip,client_port); for(int i = 0;i < strlen(buffer);i++) { buffer[i] = buffer[i]; } sendto(sockfd,buffer,strlen(buffer),0,(struct sockaddr *)&client_addr,sizeof(client_addr)); //printf("[PID:%d]已发送相应\n",getpid()); printf("===============================\n"); printf("user IP : %s\n",inet_ntoa(client_addr.sin_addr)); printf("user port : %d\n", ntohs(client_addr.sin_port)); printf("user data : %s\n",buffer); exit(0); } } int main() { int sockfd; struct sockaddr_in server_addr,client_addr; socklen_t addr_len = sizeof(client_addr); char buffer[BUFF_SIEZ]; if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) < 0) { perror("socket创建失败"); exit(EXIT_FAILURE); } //修改服务器地址配置 memset(&server_addr,0,sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(PORT); //将ip地址从字符串转换为网络格式 if(inet_pton(AF_INET,SERVER_IP,&server_addr.sin_addr)

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号