Você está na página 1de 29

1

1Program to implement Connection Oriented Server(TCP Server)


#include<sys/types.h> # include< sys/socket.h> # include<netinet/in.h> # include<stdio.h> # include<arpa/inet.h> int main( ) { int sd,newsd,errno,size,n; struct sockaddr_in seraddr,cliaddr; sd=socket(AF_INET,SOCK_STREAM,0); if(sd>0) printf(server socket created\n); else { printf(server socket creation error\n); exit(0); } seraddr.sin_family=AF_NET; seraddr.sin_port=htons(1234); seraddr.sin_addr.s_addr=inet_addr(192.168.0.8); bzero(&seraddr.sin_zero,8); errno=bind(sd,(struct sockaddr *)&seraddr,16); if(errno= =0) printf(socket binded\n); else { printf(bind error\n); exit(0); } errno=listen(sd,5); if(errno= =0) printf(queue created\n); else { printf(queue creation error\n); exit(0); } size=sizeof(cliaddr); newsd=accept(sd,(struct sockaddr *)&cliaddr,&size); if(newsd>0) printf(accept the connection from the client\n); else { printf(accept error\n); exit(0); } n=write(newsd, hello,5);

2 if(n>0) printf(server write data into client\n); else { printf(write error\n); exit(0); } close(sd); close(newsd); } OUTPUT [mca2k5@localhost]$cc serv_cos.c [mca2k5@localhost]$./a.out server socket created bind successful listen successful accept the connection from the client server write data into client

2Program to implement Connection Oriented Client( TCP Client )


#include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> int main( ) { int sd,errno,n; char buf1[5]; struct sockaddr_in seraddr; sd=socket(AF_INET,SOCK_STREAM,0); if(sd>0) printf(client socket created\n); else printf(client socket creation error\n); seraddr.sin_family=AF_INET; seraddr.sin_port=htons(1234); seraddr.sin_addr.s_addr=inet_addr(192.168.0.8); bzero(&seraddr.sin_zero,8); errno=connect(sd,(struct sockaddr *)&seraddr,16); if(errno= =0) printf(client connected to server\n); else printf(connect error\n); n=read(sd,buf1,5); if(n>0) { printf(client read data from server \n); printf(the data =%s\n,buf1); } else printf(read error\n); close(sd); } OUTPUT [mca2k5@localhost]$ cc cli_cos.c [mca2k5@localhost]$ ./a.out client socket created client connected to server read successful the data =hello

3Program to implement Connection Less Server ( UDP Server)


#include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> #include<arpa/inet.h> int main( ) { int sd,errno; char buff[10]; struct sockaddr_in seraddr,claddr; sd=socket(AF_INET,SOCK_DGRAM,0); if(sd>0) printf(server socket created \n); else printf(server socket creation error\n); seraddr.sin_family=AF_INET; seraddr.sin_port=htons(2710); seraddr.sin_addr.s_addr=inet_addr(192.168.0.8); bzero(&seraddr.sin_zero,8); errno=bind(sd,(struct sockaddr *)&seraddr,16); if(errno= =0) printf(server socket binded\n); else printf(server socket bind error\n); int size=sizeof(claddr); errno=recvfrom(sd,buff,10,0,(struct sockaddr *)&claddr.&size); if(errno>0) { printf(server recive data from client\n); printf(the data =%s\n,buff); } else printf(receive error on server \n); close(sd); } OUTPUT [mca2k5@localhost]$ cc cls.c [mca2k5@localhost]$ ./a. out Server socket created Server socket binded Server receive data from client The data =hello

4Program to implement Connection Less Client ( UDP Client)


#include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> #include<arpa/inet.h> int main( ) { int sd,errno; struct sockaddr_in seraddr,claddr; sd=socket(AF_INET,SOCK_DGRAM,0); if(sd>0) printf(socket created on client side\n); else printf(socket creation error\n); claddr.sin_family=AF_INET; claddr.sin_port=htons(2700); claddr.sin_addr.s_addr=inet_addr(192.168.0.9); bzero(&claddr.sin_zero,8); errno=bind(sd,(struct sockaddr *)&claddr,16); if(errno= =0) printf(client socket binded\n); else printf(bind error on client side\n); seraddr.sin_family=AF_INET; seraddr.sin_port=htons(2710); seraddr.sin_addr.s_addr=inet_addr(192.168.0.8); bzero(&seraddr.sin_zero,8); errno=sendto(sd, hello,5,0,(struct sockaddr *)&seraddr,sizeof(seraddr)); if(errno>0) printf(client send an UDP packet to server ); else printf(sendto error on client side); close(sd); } OUTPUT [mca2k5@localhost]$ cc clc.c [mca2k5@localhost]$ ./a.out socket created on client side client socket binded client send an UDP packet to server

6 5PROGRAM TO IMPLEMENT GETSOCK AND SETSOCK OPTIONS. #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> int main( ) { int sd,optlen,sendbuf,maxseg,errno; sd=socket(AF_INET,SOCK_STREAM,0); if(sd>0) printf(socket created\n); else { printf(socket creation error\n); exit(0); } optlen=sizeof(maxseg); errno=getsockopt(sd,IPPROTO_TCP,TCP_MAXSEG,(char *)&maxseg,&optlen); if(errno==0) printf(Get the maximum segment size\n); else printf(Get socket option error\n); printf(Maximum size=>%d,maxseg); maxseg=1024; errno=setsockopt(sd, IPPROTO_TCP,TCP_MAXSEG,(char *)&maxseg,&optlen); if(errno==0) printf(Set the segment size\n); else { prinf(set socket option error\n); exit(0); } }

OUTPUT [mca2k5@localhost]$ cc getsock.c [mca2k5@localhost]$ ./a.out Socket created Get the maximum segment size Set the maximum segment size

7 6PROGRAM TO IMPLEMENT socketpair() System Call. #inciude<sys/types.h> #inciude<sys/socket.h> #inciude<stdio.h> int main( ) { int sd[2]; int n; pid_t pid; char buf1[5]; n=socketpair(AF_UNIX,SOCK_STREAM,0,sd); if(no= =0) printf(socket pair created\n); else printf(socketpair creation error\n); pid=fork(); if(pid= =0) { printf(child process sending data to parent process\n); close(sd[0]); write(sd[1],Hello,5); exit(0); } else { printf(parent process reading data from child process\n); close(sd[1]); read(sd[0],buf1,5); printf(the data=%s,buf1); close(sd[0]); } } OUTPUT [mca2k5@localhost]$ cc sockpair.c [mca2k5@localhost]$ ./a.out Socket pair created Child process sending data to parent process Parent process reading data from child process The data =hello

8 7PROGRAM TO IMPLEMENT AsynchronousI/O #include <signal.h> #include <fcntl.h> #define BUFFSIZE 4096 int sigflag; int main() { int n; char buff[BUFFSIZE]; int sigio_func(); signal(SIGIO, sigio_func); /* Step 1: set up signal handler*/ fcntl(0, F_SETOWN, getpid(); /* Step 2: set descriptors process ID*/ fcntl(0, F_SETFL, FASYNC) ; /* Step 3: Enable Asynchronous I/O*/ for ( ; ; ) { if ( (n = read(0, buff, BUFFSIZE)) > 0) write(1, buff, n) ; else if (n == 0) exit(0); sigflag = 0; } } int sigio_func( ) { sigflag = 1; /* just set flag and return */ }

9 8PROGRAM TO IMPLEMENT TIME OF DAY SERVER USINGCONNECTION ORIENTED SERVICE(Time of Day TCP Server) #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> #include<time.h> int main() { int sd, errno, size, newsd; time_t t1; struct sockaddr_in seraddr, cliaddr; sd= socket(AF_INET,SOCK_STREAM, 0); if(sd>0) printf(Socket created \n); else { printf(Socket creation error\n); exit(0); } seraddr.sin_family=AF_INET; seraddr.sin_port=htons(9080); seraddr.sin_addr.s_addr=INADDR_ANY; bzero(&seraddr.sin_zero,8); errno=bind(sd,(struct sockaddr *) &seraddr,16); if(errno==0) printf(Socket binded\n); else { printf(Bind error); exit(0); } errno=listen(sd,10); if(errno==0) printf(Queue created\n); else { printf(Listen error\n); exit(0); } size=sizeof(cliaddr); newsd=accept(sd,(struct sockaddr *)&cliaddr,&size); ff(newsd>0) printf(server Accept the connection from the client\n); else { printf(Connection error\n); exit(0); }

10 t1=time(&t1); errno=send(newsd,ctime(&t1),26,0); if(errno>0) pintf(server send date and time to client\n); else { printf(Send error on sever\n); exit(0); } close(sd); close(newsd); } OUTPUT: [mca2k5@localhost]$ cc daytime.c [mca2k5@localhost]$ ./a.out Server Socket created Server Socket binded Queue created Accept the connection from the client Server send data and time to client

11 9PROGRAM TO IMPLEMENT TIME OF DAY CLIENT USING CONNECTION ORIENTED SERVICE (Time of Day TCP Client). #include<sys/type.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> int main() { int sd, errno; char buf1[26]; struct sockaddr_in seraddr; sd=socket(AF_INET, SOCK_STREAM,0); if (sd>0) printf(Socket created\n); else printf(Socket creation error\n); seraddr.sin_family=AF_INET; seraddr.sin_port=htons(9080); seraddr.sin_addr.s_addr=INADDR_ANY; bzero(&seraddr.sin_zero,8); errno=connect(sd,(struct sockaddr *)&seraddr,16); if(errno==0) printf(Client Connected to Server); else { printf(Connection error\n); errno=recv(sd,buf1,26,0) if(errno>0) { printf(Receiving the data from the server\n); printf(Date and time=%s,buf1); } else printf(Receiving error\n); exit(0); } OUTPUT: [mca2k5@localhost]$ cc daytime1.c [mca2k5@localhost]$ ./a.out Socket created Client connected to server Receiving the data from server Date and time = Wed Apr 2 12:37:21 2008

12 10PROGERAM TO IMPLEMENT getsockname () and getpeername () #include<sys/type.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> int main() { int sd, newsd, errno, size; struct sockaddr_in cliaddr, cliaddr1, seraddr, seraddr1; sd=socket(AF_INET,SOCK_STREAM,0); if(sd>0) printf(Socket created \n); else { printf(Socket creation error\n); exit(0); } seraddr.sin_family=AF_INET; seraddr.sin_port=htons(6543); seraddr.sin_addr.s_addr=INADDR_ANY; bzero(&seraddr.sin_zero,8); errno=bind(sd,(struct sockaddr *) &seraddr,16); if(errno==0) printf(Socket binded\n); else { printf(Socket bind error\n); exit(0); } size=sizeof(seraddr1); errno=getsockname(sd,(struct sockaddr *)&seraddr1, &size); if (seraddr1.sin_family==AF_INET) Printf(Socket support internet family\n); else { printf(Socket not belong to internet family\n); exit(0); } printf(Server port number=%d\n,seraddr1.sin_port); printf(server ipaddress=%s\n,inet_ntoa(&seradr1.sin_addr.s_addr)); errno=listen(sd,10); if(errno==0) printf(Queue created\n); else { printf(Listen error\n); exit(0);

13 } size=sizeof(cliaddr); newsd=accept(sd,(struct sockaddr *)&cliaddr,&size); if(newsd>0); printf(Accept the connection from the client\n); else { printf(Connection failed between the server and client\n); exit(0); } errno=getpeername(newsd,(Struct sockaddr *)&cliaddr1,&size); ff(cliaddr1.sin_family==AF_INET) printf(Socket belongs to Internet family\n); else { printf(Socket does not belong to internet family\n); exit(0); } cliaddr1.sin_port=ntohs((u_short)cliaddr1.sin_port); printf(Client port number is:%d.clientaddr1.sin_port); printf(Client IP address is :%s, inet_ntoa(cliaddr1.sin_addr.s_addr)); }

14 11PROGRAM TO IMPLEMENT CONNECTION ORIENTED CONCURRENT SERVER #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> #include<arpa/inet.h> int main() { int sd,errno,size,nsd; struct sockaddr_in seraddr, claddr; pid_t pid; sd=socket(AF_INET,SOCK_STREM,0); if(sd>0) print(socket created on server side\n); else printf(socket creation error\n); seraddr.sin_family=AF_INET; seraddr.sin_port=htons(1221); seraddr.sin_addr.s_addr=inet_addr(192.168.0.8); bzero(&seraddr.sin_zero,8); errno=bind(sd,(struct sockaddr*)&seraddr,16); if (errno==0) printf(server socket binded \n); else printf(bind error on server); errno=listen(sd,10); if (errno==0) printf(client queue created\n); else printf(queue creation error); size=sizeof(claddr); for(;;) { nsd=accept(sd,(struct sockaddr *)&claddr,&size); if(nsd>=0) printf(connection created\n); else { printf(accept error \n); exit(0); } pid=fork(); if (pid==0) { errno=write(nsd,hello,6); if (errno==0) { printf(write error on server side\n);

15 exit(0); } else printf(server send data to client\n); close(nsd); } } close(sd); } OUTPUT: [mca2k5@localhost ]$ cc ccs.c [mca2k5@localhost ]$./a.out Socket created on server side Socket binded on server side Client queue created Connection created Write data to client

16 12PROGRAM TO IMPLEMENT CONNECTION ORIENTED CONCURRENT CLIENT #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> #include<arpa/inet.h> int main() { int sd, errno; char buf[6]; struct sockaddr_in seraddr; sd=socket(AF_INET,SOCK_STREAM,0); if(sd>0) printf(socket created on client\n) else printf(socket creation error\n); seraddr.sin_family=AF_INET; seraddr.sin_port=htons(1221); seraddr.sin_addr.s_addr=inet_addr(192.168.0.8); bzero(&seraddr.sin_zero,8); errno=connect(sd,(struct sockaddr*)&seradr,16); if(errno==0) printf(client connected to server); else { printf(connect error ); exit(0); } Errno=read(sd,buf,6); if (errno>0) { printf(client read data from server\n); printf(the data =%s\n,buf); } else printf(read error on client\n ); close(sd); } OUTPUT: [mca2k5@localhost ]$ cc ccs.c [mca2k5@localhost ]$./a.out socket created on client client connected to server read error on client The data=hello

17 13PROGRAM TO IMPLEMENT CONNECTION ORIENTED ECHO SERVER #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> int main() { int sd,errno,size,newsd; char buf1[6]; struct sockaddr_in seraddr,cliaddr; sd=socket(AF_INET,SOCK_STREAM,0) if (sd>0) printf(server socket created); else { printf(Socket creation error\n) exit(0); } seraddr.sin_family=AF_INET; seraddr.sin_port=htons(7504); seraddr.sin_addr.s_addr=inet_addr(192.168.0.8); bzero(&seraddr.sin_zero,8); errno=bind(sd,(struct sockaddr *)&seraddr,16); if (errno==0) printf(Server socket Binded\n); else { printf(Bind error\n); exit(0); } errno=listen(sd,10); if (errno==0) printf(Queue created at server side\n); else { printf(Listen error\n); exit(0); } size=sizeof(cliaddr); newsd=accept(sd,(struct sockaddr *)&cliaddr,&size); if (newsd>0) printf(server Accept Connection from the client\n); else { printf(accept error on server side\n); exit(0); }

18 errno=recv(newsd,buf1,6,0); if(errno==0) { printf(recv error on server\n); exit(0); } else printf(server read data from client\n); errno=send(newsd,buf1,6,0); if (errno>0) printf(server send the data to client\n); else { printf(Send error on server\n); exit(0); } close(sd); close(newsd); } OUTPUT [mca2k5@localhost]$ cc echoserver.c [mca2k5@localhost]$./a.out Socket created Server socket Binded Queue created at server side Accept Connection from the client Data Received Send the data to client

19 14PROGRAM TO IMPLEMENT CONNECTION ORIENTED ECHO CLIENT #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> int main() { int sd,errno; char buf1[6]; struct sockaddr_in seraddr; sd=socket(AF_INET,SOCK_STREAM,0); if (sd>0) printf(Socket created\n); else { printf(Socket creation error\n); exit(0) } seraddr.sin_family=AF_INET; seraddr.sin_port=htons(7504); seraddr.sin_addr.s_addr=inet_addr(192.168.0.8); bzero(&seraddr.sin_zero,8); errno=connect(sd,(struct sockaddr*)&seraddr,16); if (errno==0) printf(Client connected to server\n); else { printf(Connection failed between client and server\n); exit(0); } printf(client reading the data from standard input\n); fgets(buf1,6,stdin); errno=send(sd,buf1,6,0); if (errno>0) printf(client send data to client \n); else { printf(Send error on client\n); exit(0); } errno=recv(sd,buf1,6,0); if (errno>0) printf(client read data from server\n); else { printf(Read error\n); exit(0); } printf(client write data on standard output\n);

20 fputs(buf1,stdout); close(sd); } OUTPUT: [mca2k5@localhost]$ cc echoclient.c [mca2k5@localhost]$./a.out Socket created Client is connected to server Client read data from standard input Client sends data to server Client recv data from server Client writes data on standard output

21

15PROGRAM TO CALICULATE RTT (Round Trip Time) USING CONNECTION ORIENTED CLIENT
#include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> #include<sys/time.h> #include<time.h> { int sd,errno,time1,time2,time; float t1,t2; char buf1[6]; struct sockaddr_in seraddr; struct timeval tv; sd=socket(AF_INET,SOCK_STREAM,0); if (sd>0) printf(Socket created\n); else { seraddr.sin_family=AF_INET; seraddr.sin_port=htons(6099); seraddr.sin_addr.s_addr=INADDR_ANY; bzero(&seraddr.sin_zero,8); errno=connect(sd,(struct sockaddr *)&seraddr,16); if (errno==0) printf(client connected to server\n); else { printf(connect error\n); exit(0); } printf(client read the data from standard input\n); fgets(buf1,6,stdin); gettimeofday(&tv,(struct timezone *)0); time1=tv.tv_usec; printf(The transmission time:%d\n,time1); errno=send(sd,buf1,6,0); if (errno>0) printf(Data sent to server\n); else { printf(Data sent error\n); exit(0); } errno=recv(sd,&buf1,6,0); if (errno>0) printf(Data received from the server\n);

22 else { printf(Data received error\n); exit(0); } gettimeofday(&tv,(struct timezone*)0); time2=tv.tv_usec; time=time2-time1; printf(Received time:%d\n,time2); printf(The time is:%d\n,time); t1=time/1000.0; printf(Round trip time in milliseconds:%f\n,t1); fputs(buf1,stdout); close(sd); } OUTPUT: [mca2k5@localhost]$ cc round.c [mca2k5@localhost]$ ./a.out Socket created Client is connected Reading the data from standard input The transmission time:534422 Data sent to server Data received from the server Received time:535154 The time is:732 Round trip time in milliseconds:o.732000

23

16PROGRAM TO CALICULATE RTT (Round Trip Time) USING CONNECTION ORIENTED SERVER
#include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> int main() { int sd,errno,size,newsd; char buf1[5]; struct sockaddr_in seraddr,cliaddr; sd=socket(AF_INET,SOCK_STREAM,0); if (sd>0) print(Socket created\n); else { print(Socket creation error\n); exit(0); } seraddr,sin_family=AF_INET; seraddr.sin_port=htons(6099); seraddr.sin_addr.s_addr=INADDR_ANY; bzero(&seraddr.sin_zero,8); errno=bind(sd,(struct sockadr*)&seraddr,16); if (errno==0) print(Server socket binded\n); else printf(bind error on server \n); errno=listen(ds,10); if(errno==0) printf(client queue created \n); else { printf(queue creation error \n);

24 exit(0); } size=sizeof(cliaddr); newsd=accept(sd,(struct sockaddr *)&cliaddr.&size); if (newsd>0) print(server Accept Connection from the client\n); else { print(Connection failed between client and server\n); exit(0); } errno=recv(newsd,buf1,6,0); if(errno>0) printf(server receive data from client\n); else printf(recv error on server\n); errno=send(newsd,buf1,6,0); if(errno>0) printf(server send data to client\n); else printf(send error on server\n); close(sd); close(newsd); }

17PROGRAM TO IMPLEMENT PORT SCANNING

25 #include<sys/types.h> #include<sys/socket.h> #include<netnet/in.h> #include<stdio.h> #include<time.h> int main() { int sd,errno,i; struct sockaddr_in seraddr; for(i=1;<=1024;i++) { sd=socket(AF_INET,SOCK_STREAM,0); if (sd>0) printf(Socket created\n); else { printf(Socket creation error\n); exit(0); } seraddr.sin_family=AF_INET; seraddr.sin_port=htons(i); seraddr.sin_addr.s_addr=INADDR_ANY; bzero(&seraddr.sin_zero,8); errno=connect(sd,(struct sockaddr*)&seraddr,16);:wq! if (errno==0) { printf(The port=%d is opened\n,i); close(sd); } else { printf(The port%d is not opened\n,i); close(sd); } } }

26 18PROGRAM TO IMPLEMENT OUT OF BAND DATA USING CONNECTION ORIENTED SERVER. #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> int main() { int sd,errno,n,newsd,size; struct sockaddr_in seraddr,cliaddr; sd=socket(AF_INET,SOCK_STREAM,0); if (sd>0) print(socket created\n); else { print(socket creation error\n); exit(0); } seraddr.sin_family=AF_INET; seraddr.sin_port=htons(2025); seraddr.sin_addr.s_addr=inet_addr(192.168.0.8); bzero=bind(sd,(struct sockaddr *)&seraddr,16); if (errno==0) print(server socket binded\n); else { print(bind error\n); exit(0); } errno=listen(sd,10); if (errno==0) print(client queue is created\n); else { print(listen error\n); exit(0); } size=sizeof(cliaddr); newsd=accept(sd,(struct sockaddr*)&cliaddr,&size); if (newsd>0) print(Accept the connection\n); else { print(connection failed\n); exit(0); } n=send(newsd,Hello,5,0); if (n>0) print(send the normal data to client\n); else

27 { print(data error\n); exit(0); } n=send(newsd,a,1,MSG_OOB); if (n>0) print(OOB data sent to client\n); else { print(data error\n); exit(0); } close(sd); close(newsd); } OUTPUT: [mca2k5@localhost]$ cc oob.c [mca2k5@localhost]$./a.out Socket created Server socket binded Server queue is created Accept the connection Send the normal data to client OOB data sent to client

19PROGRAM TO IMPLEMENT OUT OF BAND DATA USING CONNECTION ORIENTED CLIENT.

28 #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<stdio.h> #include<signal.h> #include<fcnt1.h> void sig_fun(int); int sd; int main() { int errno,newsd,n; struct sockaddr_in seraddr; char buf1[5],ch; sd=socket(AF_INET,SOCK_STREAM,0); if (sd>0) printf(socket created\n); else { printf((socket creation error\n); exit(0); } signal(SIGURG,sig_fun); fcnt(sd,F_SETOWN,getpid()); seraddr.sin_family=AF_INET; seraddr.sin_port=htons(2025); seraddr.sin_addr.s_addr=inet_addr(192.168.0.8); bzero(&seraddr.sin_zero,8); errno=connect(sd,(struct sockaddr *)&seraddr,16); if (errno==0) printf(client connected to server\n); else { printf(connection error\n); exit(0); } n=recv(sd,&buf1,5,0); if (n>0) { printf(normal data receive on client\n); printf(the data=%\n,buf1); } else printf(normal data received error\n); close(sd); } void sig_fun(int signo) { int n; char ch;

29 printf(the signal urg is raised\n); n=recv(sd,&ch,1,MSG_OOB); if (n>0) { printf(OOB data received on client\n); printf(the data=%c\n,ch); } else printf(OOB received error\n); } OUTPUT : [mca2k5@localhost]$ cc oob1.c [mca2k5@localhost]$ ./a.out Socket created Client connected to server The signal urg is raised OOB data received on client The data=a Normal data receive on client The data=hello

Você também pode gostar