/* A SIMPLE SERVER CONNECT TO THE CLIENT RECIVE A MESSAGE */ #include "header.h" int main(int argc, char **argv) { int soc,len,rval; struct sockaddr_in server,client; int msgsock,addrlen=sizeof(client); char buf[1024]; if( argc != 2) { printf("format: %s < Port no > \n",argv[0]); exit(0); } soc=socket(PF_INET,SOCK_STREAM,0); if(soc<0) { printf("\nError in opening socket"); exit(1); } server.sin_family=AF_INET; server.sin_addr.s_addr=htonl(INADDR_ANY); server.sin_port=htons(atoi(argv[1])); if(bind(soc,(struct sockaddr *)&server,sizeof(server))) { perror("Error in bind"); exit(1); } len=sizeof(server); printf("Socket has port#%hd\n",ntohs(server.sin_port)); printf("server is waiting \n"); listen(soc,5); do{ msgsock=accept(soc,(struct sockaddr *)&client,&addrlen); //printf("%d",&msgsock); if(msgsock==-1) { printf("Error in accept\n"); exit(1); } else if( ( rval=read(msgsock,buf,1024) )<0) { printf("Reading from Socket is in problem"); exit(1); } else printf("Message from Client::%s\n",buf); close(msgsock); }while(TRUE); return 0; }/*end of main*/