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

作业社区

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

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

别摸我的键盘 的学生作业:

代码 #include #include #include #include /* See NOTES */ #include #include #include #include #include #include #include #define FILE_SZ 64 void write_file(const char *name){ int ret,fd; char buf[FILE_SZ] = "hello udp\n"; fd = open(name,O_WRONLY|O_CREAT|O_TRUNC,0644); if(-1 == fd){ perror("[ERROR] open()"); exit(EXIT_FAILURE); } ret = write(fd, buf, strlen(buf)); if(-1 == ret){ perror("[ERROR] write()"); exit(EXIT_FAILURE); } close(fd); } void read_file(const char *fname, const char * buf){ int ret,fd; fd = open(fname,O_RDONLY); if(-1 == fd){ perror("[ERROR] open()"); exit(EXIT_FAILURE); } ret = read(fd, (void *)buf, FILE_SZ); if(-1 == ret){ perror("[ERROR] read()"); exit(EXIT_FAILURE); } close(fd); } int main(int argc, const char *argv[]) { if(argc != 3){ fprintf(stderr, "[ERROR] %s \n", argv[0]); exit(EXIT_FAILURE); } int socket_fd; char fname[] = "log.txt"; struct sockaddr_in addr_in; char buf[FILE_SZ] = {0}; ssize_t sz; socket_fd = socket(AF_INET, SOCK_DGRAM, 0); if(socket_fd == -1){ perror("[ERROR] socket()"); exit(EXIT_FAILURE); } addr_in.sin_family = AF_INET; addr_in.sin_port = htons(atoi(argv[2])); addr_in.sin_addr.s_addr = inet_addr(argv[1]); write_file(fname); read_file(fname, buf); #if 0 printf("buf content is %s", buf); #endif sz = sendto(socket_fd, (const void *)buf, strlen(buf), 0, (const struct sockaddr *)&addr_in, sizeof(struct sockaddr_in)); if(-1 == sz){ perror("[ERROR] sendto()"); exit(EXIT_FAILURE); } close(socket_fd); return 0; } 发送结果【图片】

微信客服

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

帮助反馈 APP下载

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

公众号

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