📄 omc_c_last1.c
字号:
/*最终的程序,加上了‘把输出的内容写到文件’这一部分*/#include<sys/types.h>#include<sys/socket.h>#include<stdio.h>#include<netinet/in.h>#include<arpa/inet.h>#include<unistd.h>#include<string.h>#include<netdb.h>#define LOCAL_SERVER_PORT 8092#define MAX_MSG 100int main(int argc, char *argv[]){ int s, rc, i, n, j, k ; struct sockaddr_in cliAddr,remoAddr,recevAddr; char msg[MAX_MSG]; char msg1[3]; FILE *fp; int strlen=3; s=socket(AF_INET, SOCK_DGRAM, 0); if(s<0) { printf("%s:cannot open socket\n",argv[0]); exit(1); } remoAddr.sin_family=AF_INET; remoAddr.sin_port=htons(LOCAL_SERVER_PORT); remoAddr.sin_addr.s_addr=inet_addr("192.168.2.222"); k=0x04; fp=fopen("res.txt","w+"); if(fp==NULL) { printf("cannot open a file"); exit(1); } for(i=0;i<5;i++) { memset(msg1,0,30); memcpy(msg1,&strlen,2); msg1[2]=k; k++; //printf("%02x\n%02x\n%02x\n",msg1[0],msg1[1],msg1[2]); rc=sendto(s, msg1,sizeof(msg1), 0,(struct sockaddr *) &remoAddr, sizeof(remoAddr)); if(rc<0) { printf("%s: cannot send data %d \n",argv[0],i-1); close(s); exit(1); } memset(msg, 0x0, MAX_MSG); j=sizeof(cliAddr); n=recvfrom(s, msg, MAX_MSG, 0, (struct sockaddr *) &cliAddr, &j); if(n<0) { printf("%s cannot receive data\n",argv[0]); exit(1); } fwrite(msg,sizeof(char),100,fp); fputc('\n',fp);// printf("%s\n",msg); } fclose(fp); return 1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -