Client Server Chat Using TCP

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 40

CLIENT SERVER CHAT USING TCP SERVER

#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> #include<string.h> main() { int sd,sd2,nsd,clilen,sport,len; char sendmsg[20],rcvmsg[20]; struct sockaddr_in servaddr,cliaddr; printf("Enter the Server port"); printf("\n_____________________\n"); scanf("%d",&sport); sd=socket(AF_INET,SOCK_STREAM,0); if(sd<0) printf("Can't Create \n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(sport); sd2=bind(sd,(struct sockaddr*)&servaddr,sizeof(servaddr)); if(sd2<0) printf(" Can't Bind\n"); else printf("\n Binded\n"); listen(sd,5); clilen=sizeof(cliaddr); nsd=accept(sd,(struct sockaddr*)&cliaddr,&clilen); if(nsd<0) printf("Can't Accept\n"); else printf("Accepted\n"); printf("\nReceived Messages\n"); do { recv(nsd,rcvmsg,20,0); printf("%s",rcvmsg); fgets(sendmsg,20,stdin); len=strlen(sendmsg); sendmsg[len-1]='\0';

send(nsd,sendmsg,20,0); wait(20); } while(strcmp(sendmsg,"bye")!=0); }

CLIENT
#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> main() { int csd,cport,len; char sendmsg[20],revmsg[20]; struct sockaddr_in servaddr; printf("Enter the port\n"); scanf("%d",&cport); csd=socket(AF_INET,SOCK_STREAM,0); if(csd<0) printf("Can't Create\n"); else printf("Scocket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(cport); if(connect(csd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0) printf("Can't Connect\n"); else printf("Connected\n"); do { fgets(sendmsg,20,stdin); len=strlen(sendmsg); sendmsg[len-1]='\0'; send(csd,sendmsg,20,0); wait(20); recv(csd,revmsg,20,0); printf("%s",revmsg); } while(strcmp(revmsg,"bye")!=0); }

OUTPUT:
Client Side [1me16@localhost ~]$ cc tcpclient.c [1me16@localhost ~]$. /a.out Enter the port 6523 Socket is Created Connected Hello Server Side [1me16@localhost ~]$ cc tcpserver.c.c [1me16@localhost ~]$. /a.out Enter the server port 6543 Socket is Created Binded Accepted Received Messages. Hello

CLIENT SERVER CHAT USING UDP SERVER


#include<stdio.h> #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> main() { struct sockaddr_in sadd,cadd; int id,a,b,len,port; char rbuff[100]; id=socket(PF_INET,SOCK_DGRAM,0); if(id<0) printf("Can't Create\n"); else printf("Created\n"); printf("Enter the port Address\n"); printf("____________________\n"); scanf("%d",&port); sadd.sin_family=PF_INET; sadd.sin_addr.s_addr=htonl(INADDR_ANY); sadd.sin_port=htons(port); b=bind(id,(struct sockaddr*)&sadd,sizeof(sadd)); if(b<0) printf("Can't Bind"); else printf("Binded\n"); printf("~~~~~~\n"); len=sizeof(cadd);

if(recvfrom(id,rbuff,sizeof(rbuff),0,(struct sockaddr*)&cadd,&len)<0) printf("Received Error\n"); else printf("Server received =%s\n",rbuff); close(id); }

CLIENT
#include<stdio.h> #include<sys/socket.h> #include<sys/types.h> #include<netinet/in.h> main() { struct sockaddr_in sadd,cadd; int id,len,n,c,s,b,port; char str[100],serstr[100]; id=socket(PF_INET,SOCK_DGRAM,0); if(id<0) printf("Can't Create\n"); else printf("Socket is Created\n"); printf("Enter the IP address\n"); scanf("%s",serstr); printf("Enter the port Address\n"); scanf("%d",&port); cadd.sin_family=PF_INET; cadd.sin_addr.s_addr=inet_addr(serstr); cadd.sin_port=htons(port); printf("Enter the Data\n"); scanf("%s",str); b=bind(id,(struct sockaddr*)&cadd,sizeof(cadd)); if(sendto(id,str,sizeof(str),0,(struct sockaddr*)&cadd,sizeof(cadd))<0) printf("Transmit Error"); else printf("Server Transmitted=%s\n",str); close(id); }

OUTPUT:
Client Side [1me16@localhost ~]$ cc udpclient.c [1me16@localhost ~]$. /a.out Socket is Created Enter the IP Address 172.15.170.104 Enter the port address 6543 Enter the data Hello Server transmitted = hello Server Side [1me16@localhost ~]$ cc udpserver.c [1me16@localhost ~]$. /a.out Created Enter the port address . 6543 Binded .

PRINTING THE CLIENT ADDRESS AT THE SERVER END SERVER


#include<stdio.h> #include<sys/socket.h> #include<sys/types.h> #include<netinet/in.h> #include<string.h> main() { int sd,sd2,nsd,clilen,sport,len; char sendmsg[20],rcvmsg[20]; struct sockaddr_in servaddr,cliaddr; printf("Enter the Port\n"); scanf("%d",&sport); sd=socket(AF_INET,SOCK_STREAM,0); if(sd<0) printf("Can't Create \n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=inet_addr("172.15.170.104"); servaddr.sin_port=htons(sport); sd2=bind(sd,(struct sockaddr*)&servaddr,sizeof(servaddr)); if(sd2<0)

printf(" Can't Bind\n"); else printf("\n Binded\n"); listen(sd,5); clilen=sizeof(cliaddr); nsd=accept(sd,(struct sockaddr*)&cliaddr,&clilen); if(nsd<0) printf("Can't Accept\n"); else printf("Accepted\n"); printf("The Client Address is %s",inet_ntoa(cliaddr.sin_addr.s_addr)); }

CLIENT
#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> main() { int csd,cport,len; char sendmsg[20],revmsg[20]; struct sockaddr_in servaddr; printf("Enter the port\n"); scanf("%d",&cport); csd=socket(AF_INET,SOCK_STREAM,0); if(csd<0) printf("Can't Create\n"); else printf("Scocket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=inet_addr("172.15.170.104"); servaddr.sin_port=htons(cport); if(connect(csd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0) printf("Can't Connect\n"); else printf("Connected\n"); }

OUTPUT:
Client Side [1me16@localhost ~]$ cc addressclient.c [1me16@localhost ~]$. /a.out Enter the port: 6543 Socket is Created... Server Side [1me16@localhost ~]$ cc addressserver.c [1me16@localhost ~]$. /a.out Enter the port: 6543 Created... Binded

DISPLAYING TIME AT THE CLIENT END SERVER


#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> #include<string.h> #include<time.h> main() { int sd,sd2,nsd,clilen,sport,len; char sendmsg[20],rcvmsg[20]; time_t t; struct sockaddr_in servaddr,cliaddr; printf("Enter the Port no\n"); scanf("%d",&sport); sd=socket(AF_INET,SOCK_STREAM,0); time(&t); strcpy(sendmsg,ctime(&t)); printf("%s",sendmsg); if(sd<0) printf("Can't Create \n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(sport); sd2=bind(sd,(struct sockaddr*)&servaddr,sizeof(servaddr)); if(sd2<0) printf(" Can't Bind\n"); else printf("\n Binded \n"); listen(sd,5); clilen=sizeof(cliaddr);

nsd=accept(sd,(struct sockaddr*)&cliaddr,&clilen); if(nsd<0) printf("Can't Accept\n"); else printf("Accepted\n"); send(nsd,sendmsg,100,0); }

CLIENT
#include<stdio.h> #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdlib.h> #include<time.h> main() { int csd,cport,len; char revmsg[100]; struct sockaddr_in servaddr; printf("Enter the port\n"); scanf("%d",&cport); csd=socket(AF_INET,SOCK_STREAM,0); if(csd<0) printf("Can't Create\n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(cport); if(connect(csd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0) printf("Connection error\n"); recv(csd,revmsg,100,0); printf("%s\n",revmsg); }

OUTPUT:
Client Side [1me16@localhost ~]$ cc dateclient.c [1me16@localhost ~]$. /a.out Enter the port: 8543 Socket is Created... Connected Server Side [1me16@localhost ~]$ cc dateserver.c [1me16@localhost ~]$. /a.out Enter the port: 8543 Fri Sep 17 03:05:27 2010 Socket is Created...

FILE TRANSFER PROTOCOL USING TCP SERVER


#include<st dio.h> #include<sy s/types.h> #include<ne tinet/in.h> #include<st ring.h>

main() { FILE *fp; int sd,newsd,ser,n,a,cli,pid,bd,port,clilen; char name[100],fileread[100],fname[100],ch,file[100],rcv[100]; struct sockaddr_in servaddr,cliaddr; printf("Enter the port address: "); scanf("%d",&port); sd=socket(AF_INET,SOCK_STREAM,0); if(sd<0) printf("Can't Create \n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(port); a=sizeof(servaddr); bd=bind(sd,(struct sockaddr*)&servaddr,a); if(bd<0) printf(" Can't Bind\n"); else printf("\n Binded\n"); listen(sd,5); clilen=sizeof(cliaddr); newsd=accept(sd,(struct sockaddr*)&cliaddr,&clilen); if(newsd<0) printf("Can't Accept\n"); else printf("Accepted\n"); n=recv(newsd,rcv,100,0); rcv[n]='\0'; fp=fopen(rcv,"r"); if(fp==NULL) {

send(newsd,"error",5,0); close(newsd); } else { while(fgets(fileread,sizeof(fileread),fp)) { if(send(newsd,fileread,sizeof(fileread),0)<0) { printf("Can't send\n"); } sleep(1); } if(!fgets(fileread,sizeof(fileread),fp)) { send(newsd,"completed",999999999,0); } return(0); } }

CLIENT
#include<stdio.h> #include<sys/socket.h> #include<netinet/in.h> main() { FILE *fp; int csd,n,ser,s,cli,cport,newsd; char name[100],rcvmsg[100],rcvg[100],fname[100]; struct sockaddr_in servaddr; printf("Enter the port"); scanf("%d",&cport); csd=socket(AF_INET,SOCK_STREAM,0); if(csd<0) { printf("Error..."); exit(0); } else printf("Socket is Created...\n");

servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY);servaddr.sin_port=htons(cport); if(connect(csd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0) printf("Error in Connection...\n"); else printf("Connected...\n"); printf("Enter the existing file name: "); scanf("%s",name); printf("\nEnter the new filename: "); scanf("%s",fname); fp=fopen(fname,"w"); send(csd,name,sizeof(name),0); while(1) { s=recv(csd,rcvg,100,0); rcvg[s]='\0'; if(strcmp(rcvg,"error")==0) printf("File is not Available...\n"); if(strcmp(rcvg,"completed")==0) { printf("file is transferred...\n"); fclose(fp); close(csd); break; } else fputs(rcvg,stdout); fprintf(fp,"%s",rcvg); } }

OUTPUT:
Server Side [1me16@localhost ~]$ cc ftpclient.c [1me16@localhost ~]$. /a.out Enter the port address: 8663 Socket is Created Binded Connected Client Side [1me16@localhost ~]$ cc ftpserver.c [1me16@localhost ~]$. /a.out Socket is Created.. Connected Enter the existing file name: net Enter the new file name: network Welcome to Network Lab File is transferred...

SLIDING WINDOW PROTOCOL


SERVER
#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> #include<string.h> #include<sys/socket.h> main() { int a,bd,sd,newsd,port,clilen; char lost[20],sendmsg[20],recvmsg[20]; struct sockaddr_in servaddr,cliaddr; sd=socket(AF_INET,SOCK_STREAM,0); if(sd<0) printf("Can't Create \n"); else printf("Socket is Created\n"); printf("Enter the port no\n"); scanf("%d",&port); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(port); a=sizeof(servaddr); bd=bind(sd,(struct sockaddr*)&servaddr,a); if(bd<0) printf(" Can't Bind\n"); else printf("\n Binded\n"); listen(sd,5);

clilen=sizeof(cliaddr); newsd=accept(sd,(struct sockaddr*)&cliaddr,&clilen); if(newsd<0) printf("Can't Accept\n"); else printf("Accepted\n"); printf("Enter the lost frame\n"); scanf("%s",lost); send(newsd,lost,20,0); recv(newsd,recvmsg,20,0); printf("\n Frame %s is successfully received",recvmsg); }

CLIENT
#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> #include<string.h> main() { int i,sd,n,port; char sendmsg[100],recvmsg[100]; struct sockaddr_in servaddr; printf("Enter the port\n"); scanf("%d",&port); sd=socket(AF_INET,SOCK_STREAM,0); if(sd<0) printf("Can't Create\n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(port); if(connect(sd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0) printf("Can't Connect\n"); else printf("Connected\n"); printf("Enter the no of frames\n"); scanf("%d",&n); printf("\nThe frames all\n"); for(i=1;i<=n;i++) printf("Frame %d\n",i); recv(sd,recvmsg,20,0); printf("\n Lost frame %s is retransmitted ",recvmsg); strcpy(sendmsg,recvmsg); send(sd,sendmsg,20,0); }

OUTPUT:
Server: [1me16alhost~]: VI swserver.c [1me16alhost~]: CC swserver.c [1me16alhost~]: /a.out Enter the port address 8543 Socket is created Binded Accepted Enter the lost frame: 3 Frame tcpserver.c is successfully transmitted Client: [1me16alhost~]: VI swclient.c [1me16alhost~]: CC swclient.c [1me16alhost~]: /a.out Enter the client port no 8543 Socket is created Connected.. Enter the no of frames: 4 The frames all Frame 1/n Frame 2/n Frame 3/n Frame 4/n

DOMAIN NAME SYSTEM


SERVER
#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> #include<string.h> main() { int sd,sd2,nsd,clilen,sport,len,i; char sendmsg[20],recvmsg[20]; char ipid[20][20]={"172.15.64.66","172.15.44.55","172.15.33.44","172.15.22.33"}; char hostid[20][20]={"www.yahoo.com","www.google.com","www.hotmail.com"}; struct sockaddr_in servaddr,cliaddr; printf("DNS Server Side\n"); printf("Enter the Port\n"); scanf("%d",&sport); sd=socket(AF_INET,SOCK_STREAM,0); if(sd<0) printf("Can't Create \n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY);

servaddr.sin_port=htons(sport); sd2=bind(sd,(struct sockaddr*)&servaddr,sizeof(servaddr)); if(sd2<0) printf("Can't Bind\n"); else printf("\n Binded\n"); listen(sd,5); clilen=sizeof(cliaddr); nsd=accept(sd,(struct sockaddr*)&cliaddr,&clilen); if(nsd<0) printf("Can't Accept\n"); else printf("Accepted\n"); recv(nsd,recvmsg,20,0); for(i=0;i<4;i++) { if(strcmp(recvmsg,hostid[i])==0) { send(nsd,ipid[i],20,20); break; }}}

CLIENT
#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> main() { int csd,cport,len; char sendmsg[20],recvmsg[20]; struct sockaddr_in servaddr; printf("DNS Client Side\n"); printf("Enter the Client port\n"); scanf("%d",&cport); csd=socket(AF_INET,SOCK_STREAM,0); if(csd<0) printf("Can't Create\n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(cport); if(connect(csd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0) printf("Can't Connect\n"); else printf("Connected\n"); printf("Enter the host address\n"); scanf("%s",sendmsg); send(csd,sendmsg,20,0); recv(csd,recvmsg,20,20); printf("The Coresponding IP Address is\n"); printf("%s",recvmsg); }

OUTPUT:
Server: [1me16alhost~]: VI dnsserver.c [1me16alhost~]: CC dnsserver.c [1me16alhost~]: /a.out Enter the port no 8543 Socket is created Binded Accepted Client: [1me16alhost~]: VI dnsclient.c [1me16alhost~]: CC dnsclient.c [1me16alhost~]: /a.out Enter the client port no 8543 Socket is created Connected.. Enter the host address www.yahoo.com The corresponding IP Address is 172.15.64.66

SIMULATION OF OSPF ROUTING PROTOCOL


#include<iostream.h> #include<conio.h> class dij { private: int graph[15][15],source,no; int set[15],predessor[15],mark[15],pathestimate[15]; public: int minimum(); void read(); void initialize(); void printpath(int); void algorithm(); void output(); }; void dij::read() { cout<<"Enter the no of vertices: "; cin>>no; cout<<"Enter the Adjacent matrices"; for(int i=1;i<=no;i++) {

cout<<"Enter the weight for row: "<<i; for(int j=1;j<=no;j++) { cin>>graph[i][j]; } } cout<<"Enter the source Vector: "; cin>>source; } void dij::initialize() { for(int i=1;i<=no;i++) { mark[i]=0; pathestimate[i]=999; predessor[i]=0; } pathestimate[source]=0;

} void dij::algorithm() { initialize(); int count=0,i,u; while(count<no) { u=minimum(); set[++count]=u; mark[u]=1; for(int i=1;i<=no;i++) { if(graph[u][i]>0) { if(mark[i]!=1) { if(pathestimate[i]>pathestimate[u]+graph[u][i]) { predessor[i]=u; pathestimate[i]=pathestimate[u]+graph[u][i]; } } } } //for loop } //while loop } void dij::printpath(int i) { cout<<endl; if(i==source) { cout<<source; } else if(predessor[i]==0) cout<<"No path from"<<source<<"to"<<i; else { printpath(predessor[i]); cout<<"....."<<i; } } void dij::output() {

for(int i=1;i<=no;i++) { printpath(i); if(pathestimate[i]!=999) cout<<"->("<<pathestimate[i]<<")\n"; } cout<<endl; } int dij::minimum() { int min=999,i,t; for(i=1;i<=no;i++) { if(mark[i]!=1) { if(min>=pathestimate[i]) { min = pathestimate[i]; t=i; } } } return t; } void main() { clrscr(); dij d; d.read(); d.algorithm(); d.output(); getch(); }

OUTPUT
Enter the no of vertices: 3 Enter the Adjacent matrices Enter the weight for row: 1 0 1 3 Enter the weight for row: 2 2 1 1 Enter the weight for row: 3 2 1 1 Enter the source vector: 1 1 -> (0) 1. 2- > (1) 1 2 . 3 -> (1)

UNIFORM RESOURCE LOCATOR


#include<iostream.h> #include<stdio.h> #include<dos.h> #include<conio.h> #include<string.h> void main() { char c; int len=0; struct date d; struct time t; clrscr(); FILE *fp; getdate(&d); gettime(&t); fp=fopen("welcome.html","r"); printf("Content type = text/html\n"); printf("\n Date : %d-%d-%d Time : %d:%d:%d \n",d.da_day,d.da_mon,d.da_year,t.ti_hour,t.ti_min,t.ti_sec); c=fgetc(fp); cout<<c; len++; while((c=fgetc(fp))!=-1) { if(c!='\n'||' '); len++; cout<<c;

} printf("\n Content length is %d",len); getch(); }

OUTPUT:
CONTENT TYPE=text/html Date:03-11-2010 time:15:13:28 <html> <head> <title>welcome</title> <body bgcolor=blue> <h1>welcome to network lab-1</h> </body> </html> content length is 109

MULTI USER CHAT SERVER


#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> #include<string.h> main() { int i,sd,sd2,nsd,clilen,sport,len; char sendmsg[20],rcvmsg[20]; struct sockaddr_in servaddr,cliaddr; printf(Enter the port no:\n); scanf("%d",&sport); sd=socket(AF_INET,SOCK_STREAM,0); if(sd<0) printf("Can't Create \n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(sport); sd2=bind(sd,(struct sockaddr*)&servaddr,sizeof(servaddr)); if(sd2<0) printf("Can't Bind\n"); else printf("\n Binded\n"); listen(sd,5); do { printf("Enter the client no to communicate\n"); scanf("%d",&i); if(i==0) exit(0); printf("Client %d is connected\n",i); clilen=sizeof(cliaddr);

nsd=accept(sd,(struct sockaddr*)&cliaddr,&clilen); if(nsd<0) printf("Can't Accept\n"); else printf("Accepted\n"); do

{ recv(nsd,rcvmsg,20,0); printf("%s",rcvmsg); fgets(sendmsg,20,stdin); len=strlen(sendmsg); sendmsg[len-1]='\0'; send(nsd,sendmsg,20,0); wait(20); }while(strcmp(sendmsg,"bye")!=0); }while(i!=0); }

CLIENT - 1
#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> main() char sendmsg[20],revmsg[20]; { struct sockaddr_in servaddr; int printf("Enter the port no:\n"); csd,cp scanf("%d",&cport); ort,len csd=socket(AF_INET,SOCK_STREAM,0); ; if(csd<0) printf("Can't Create\n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(cport); if(connect(csd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0) printf("Can't Connect\n"); else printf("Connected\n"); do sendmsg,20,stdin); { len=strlen(sendmsg); fg sendmsg[len-1]='\0'; et send(csd,sendmsg,20,0); s( wait(20);

recv(csd,revmsg,20,0); printf("%s",revmsg); } while(strcmp(revmsg,"bye")!=0); }

CLIENT - 2

#include<stdio.h> #include<sys/types.h> #include<netinet/in.h> main() { int csd,cport,len; char sendmsg[20],revmsg[20]; struct sockaddr_in servaddr; printf("Enter the port no:\n"); scanf("%d",&cport); csd=socket(AF_INET,SOCK_STREAM,0); if(csd<0) printf("Can't Create\n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(cport); if(connect(csd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0) printf("Can't Connect\n"); else printf("Connected\n"); do { fgets(sendmsg,20,stdin); len=strlen(sendmsg); sendmsg[len-1]='\0'; send(csd,sendmsg,20,0); wait(20); recv(csd,revmsg,20,0); printf("%s",revmsg); } while(strcmp(revmsg,"bye")!=0); }

OUTPUT:
SERVER SIDE: [1me2@localhost ~]$ vi Multiuserserver.c [1me2@localhost ~]$ cc Multiuserserverc [1me2@localhost ~]$ ./a.out Enter the port no 8543 socket is created Binded Enter the client to communicate: 1 Client 1 is connected Accepted hiiiii Byeeeeee Enter the client no to communicate: 2 client 2 is connected Accepted hiiiiiiiiii hello Enter the client no to communicate: 0 CLIENT SIDE 1: [1me2@localhost ~]$ vi multiuserclient1.c [1me2@localhost ~]$ cc multiuserclient1.c [1me2@localhost ~]$ ./a.out Enter the port no 8543 Socket is created Connected hiiiiii Byeeeee

CLIENT SIDE 2: [1me2@localhost ~]$ vi multiuserclient2.c [1me2@localhost ~]$ cc multiuserclient2.c [1me2@localhost ~]$ ./a.out Enter the port no 8543 Socket is created Connected Hiiiiiiiii hello

SIMPLE NETWORK MANAGEMENT PROTOCOL


AGENT1 #include<stdio.h> #include<sys/types.h> #include<netinet/in.h> #include<string.h> main() char sendmsg[20],recvmsg[100]; { char oid[5][10]={"client1","client2","client3","cleint4","client5"}; int char wsize[5][5]={"5","10","15","3","6"}; i,sd,sd struct sockaddr_in servaddr,cliaddr; 2,nsd, printf("I'm the Agent - TCP Connection\n"); clilen, printf("\nEnter the Server port"); sport,l printf("\n_____________________\n"); en; scanf("%d",&sport); sd=socket(AF_INET,SOCK_STREAM,0); if(sd<0) printf("Can't Create \n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(sport); sd2=bind(sd,(struct sockaddr*)&servaddr,sizeof(servaddr)); if(sd2<0) printf(" Can't Bind\n"); else printf("\n Binded\n"); listen(sd,5); clilen=sizeof(cliaddr); nsd=accept(sd,(struct sockaddr*)&cliaddr,&clilen); if(nsd<0) printf("Can't Accept\n"); else printf("Accepted\n"); recv(nsd,recvmsg,100,0); for (i=0;i<5;i++) {

if(strcmp(recvmsg,oid[i])==0) A { G send(nsd,wsize[i],100,0); E break; N } T } } 2 #include<stdio.h> #include<sys/types.h> #include<netinet/in.h> #include<string.h> main() char sendmsg[20],recvmsg[100]; { char oid[5][10]={"System1","System2","System3","System4","System5"}; int char mdate[5][15]={"1-10-095","10-03-08","14.03.81","11.07.07","17.12.77"}; i,sd,sd char time[5][15]={"9am","10pm","11am","12.30pm","11.30am"}; 2,nsd, struct sockaddr_in servaddr,cliaddr; clilen, printf("Enter the Server port"); sport,l printf("\n_____________________\n"); en; scanf("%d",&sport); sd=socket(AF_INET,SOCK_STREAM,0); if(sd<0) printf("Can't Create \n"); else printf("Socket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(sport); sd2=bind(sd,(struct sockaddr*)&servaddr,sizeof(servaddr)); if(sd2<0) printf(" Can't Bind\n"); else printf("\n Binded\n"); listen(sd,5); clilen=sizeof(cliaddr); nsd=accept(sd,(struct sockaddr*)&cliaddr,&clilen);

if(nsd<0) printf("Can't Accept\n"); else printf("Accepted\n"); recv(nsd,recvmsg,100,0); for(i=0;i<5;i++) M { A if(strcmp(recvmsg,oid[i])==0) N { A send(nsd,mdate[i],100,0); send(nsd,time[i],100,0); G break; E } R } } #include<stdio.h> #include<sys/types.h> #include<netinet/in.h> main() char sendmsg[20],rcvmsg[100],rmsg[100],oid[100]; { struct sockaddr_in servaddr; int printf("Enter the port\n"); csd,cp scanf("%d",&cport); ort,len csd=socket(AF_INET,SOCK_STREAM,0); ,i; if(csd<0) printf("Can't Create\n"); else printf("Scocket is Created\n"); servaddr.sin_family=AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port=htons(cport); if(connect(csd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0) printf("Can't Connect\n"); else printf("Connected\n");

printf("\n 1.TCP Connection\n"); printf("\n 2. System \n"); printf("Enter the number for the type of informtion needed....\n"); scanf("%d",&i); if(i==1) { printf("Enter the Object ID for Client\n"); scanf("%s",oid); send(csd,oid,100,0); recv(csd,rmsg,100,0); printf("\n The window size of %s is %s",oid,rmsg); } else { printf("\nEnter the Object ID for the System\n"); scanf("%s",oid); send(csd,oid,100,0); recv(csd,rmsg,100,0); printf("\nThe Manufacturing date for %s is %s",oid,rmsg); recv(csd,rmsg,100,0); printf("\nThe time of Last Utilization for %s is %s",oid,rmsg); } }

OUTPUT:
AGENT1: [1me14@localhost ~]$ vi Agent1.c [1me14@localhost ~]$ cc Agent1.c [1me14@localhost ~]$ ./a.out I'm the Agent - TCP Connection Enter the Server port _____________________ 8543 Socket is created Binded Accepted MANGER: [1me14@localhost ~]$ vi Manager.c [1me14@localhost ~]$ cc Manger.c [1me14@localhost ~]$ ./a.out Enter the port 8543 Socket is Created Connected 1.TCP Connection 2. System Enter the number for the type of information needed: 1 Enter the Object ID for Client: Client1 The window size of client1 is 5 AGENT2: [1me14@localhost ~]$ vi Agent2.c [1me14@localhost ~]$ cc Agent2.c [1me14@localhost ~]$ ./a.out Enter the Server port _____________________ 8543 Socket is Created Binded Accepted

MANGER: [1me14@localhost ~]$ vi Manager.c [1me14@localhost ~]$ cc Manger.c [1me14@localhost ~]$ ./a.out Enter the port 8543 Socket is Created Connected 1.TCP Connection 2. System Enter the number for the type of informtion needed: 2 Enter the Object ID for Client: System3 The Manufacturing date for system3 is 14.03.81 The time of last utilization for system3 is 11am

EMAIL
#include <stdlib.h> #include <string.h> #define cknull(x) if((x)==NULL) {perror(""); exit(EXIT_FAILURE);} #define cknltz(x) if((x)<0) {perror(""); exit(EXIT_FAILURE);} #define LIST_LEN 4 //char *f="sam.txt"; void email_it(char *filename); main() printf("enter the filename\n"); { scanf("%s",fname); char email_it(fname); fname } [15]; void email_it(char *filename) { char tmp[256]={0x0}; char fpBuffer[400]={0x0}; char email_list[LIST_LEN][256]={{"mecse3@localhost.localdomain"},{0x0}}; int i=0; for(i=0;*email_list[i]>0x0;i++) { cknull(strcpy(tmp, email_list[i])); cknltz(sprintf (fpBuffer,"mail -s '%s %s' %s < %s", "Please Review:", filename, tmp,filename)); if(system (fpBuffer)==(-1)) { perror("email failure"); exit(EXIT_FAILURE); } } }

OUTPUT:
[1me2@localhost ~]$ vi email.c [1me2@localhost ~]$ cc email.c [1me2@localhost ~]$ ./a.out Enter the file name: sample.c [1me2@localhost ~]$/home/1me1/dead.letter.saved message in /home/1me1/dead.letter..

You might also like