server.c
#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <time.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> int main(int argc,char **argv){ int z; char *srvr_addr="127.0.0.1"; char *srvr_port="9099"; struct sockaddr_in adr_srvr; struct sockaddr_in adr_clnt; int len_inet; int s; int c; int n; time_t td; char dtbuf[128]; s = socket(PF_INET,SOCK_STREAM,0); memset(&adr_srvr,0,sizeof(adr_srvr)); adr_srvr.sin_family = AF_INET; adr_srvr.sin_port = htons(atoi(srvr_port)); adr_srvr.sin_addr.s_addr = inet_addr(srvr_addr); adr_srvr.sin_addr.s_addr = INADDR_ANY; len_inet = sizeof(adr_srvr); z = bind(s,(struct sockaddr *)&adr_srvr,len_inet); z = listen(s,10); while(1){ len_inet = sizeof(adr_clnt); c = accept(s,(struct sockaddr *)&adr_clnt,&len_inet); time(&td); n = (int)strftime(dtbuf,sizeof(dtbuf),"time:%A %b %d %H:%M:%S %Y\n",localtime(&td)); z = write(c,dtbuf,n); close(c); } return 0; }
client.c
#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> int main(int argc,char **argv){ int z; char *srvr_addr = "127.0.0.1"; char *srvr_port = "9099"; struct sockaddr_in adr_srvr; int len_inet; int s; char dtbuf[128]; s = socket(PF_INET,SOCK_STREAM,0); memset(&adr_srvr,0,sizeof(adr_srvr)); adr_srvr.sin_family = AF_INET; adr_srvr.sin_port = htons(atoi(srvr_port)); adr_srvr.sin_addr.s_addr = inet_addr(srvr_addr); len_inet = sizeof(adr_srvr); z = connect(s,(void *)&adr_srvr,len_inet); z = read(s,&dtbuf,sizeof(dtbuf)-1); //dtbuf[z]=0; printf("Data & Time is: ---%s---\n",dtbuf); close(s); puts(""); return 0; }