#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<time.h>#include<sys/types.h>#include<netinet/in.h>#include<sys/socket.h>#defineSERV_PORT25555//服务器接听端口号#defineBACKLOG20//请求队列中允许请求数#defineBUF_SIZE256//缓冲区大小intmain(intargc,char*argv[]){intret;time_ttt;structtm*ttm;charbuf[BUF_SIZE];intsockfd;//定义sock描述符structsockaddr_inserv_addr;//服务器IP地址和端口信息if(argc!=2){printf("命令行输入有误\n");//命令行带IPreturn1;}/**创建套接字**/sockfd=socket(AF_INET,SOCK_DGRAM,0);//TCP/IP协议,数据流套接字if(sockfd==-1)//判断socket函数的返回值{printf("调用socket函数创建链接失败.\n");return0;}/**建立连接**/bzero(&serv_addr,sizeofserv_addr);serv_addr.sin_family=AF_INET;//TCP/IP协议serv_addr.sin_port=htons(SERV_PORT);//设定端口号//serv_addr.sin_addr.s_addr=INADDR_ANY;//使用回环地址127.0.0.1inet_aton(argv[1],(structsockaddr*)&serv_addr.sin_addr.s_addr);//设定IP地址while(1){bzero(buf,sizeofbuf);//首先清除缓冲区tt=time(NULL);ttm=localtime(&tt);strcpy(buf,asctime(ttm));//拷贝缓冲区数据sendto(sockfd,buf,strlen(buf),0,(structsockaddr*)&serv_addr,sizeofserv_addr);//接收数据,然后放入缓冲区sleep(2);}close(sockfd);return0;}