Guest User

skd

a guest
Nov 6th, 2016
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.27 KB | None | 0 0
  1. OSI Model
  2.  
  3. #include<stdio.h>
  4. #include<stdlib.h>
  5. #include<string.h>
  6.  
  7. int main()
  8. {
  9. char msg[100];
  10. char temp[100];
  11. char ah[100]="AH ", ph[100]="PH", sh[100]="SH", th[100]="TH", nh[100]="NH", dh[100]="DH";
  12. char ahr[100], phr[100], shr[100], thr[100], nhr[100], dhr[100];
  13. printf("Enter your message is: ");
  14. scanf("%s",msg);
  15. printf("Transmitter:\n");
  16. strcpy(temp,msg);
  17. strcat(ah,temp);
  18. printf("Application Layer: %s\n",ah);
  19. strcpy(temp,ah);
  20. strcat(ph,temp);
  21. printf("Presentation Layer: %s\n",ph);
  22. strcpy(temp,ph);
  23. strcat(sh,temp);
  24. printf("Session Layer: %s\n",sh);
  25. strcpy(temp,sh);
  26. strcat(th,temp);
  27. printf("Transport Layer: %s\n",th);
  28. strcpy(temp,th);
  29. strcat(nh,temp);
  30. printf("Network Layer: %s\n",nh);
  31. strcpy(temp,nh);
  32. strcat(dh,temp);
  33. printf("DataLink Layer: %s\n",dh);
  34. strcpy(temp,dh);
  35. printf("%s",temp);
  36. printf("\nMessage reached to Physical Layer and ready to be transmitted.\n\n");
  37. printf("RECEIVER:\n\n");
  38. printf("Message entered into Physical Layer");
  39. int j,k,i=2;
  40. strcpy(dhr,temp);
  41. printf("\nDataLink Layer: ");
  42. printf("%s",dhr);
  43. printf("\nNetwork Layer: ");
  44. for(j=i,k=0;temp[j]!='\0';j++,k++)
  45. {
  46. nhr[k]=temp[j];
  47. printf("%c",nhr[k]);
  48. }
  49. i=i+2;
  50. printf("\nTransport Layer: ");
  51. for(j=i,k=0;temp[j]!='\0';j++,k++)
  52. {
  53. thr[k]=temp[j];
  54. printf("%c",thr[k]);
  55. }
  56. i=i+2;
  57. printf("\nSession Layer: ");
  58. for(j=i,k=0;temp[j]!='\0';j++,k++)
  59. {
  60. shr[k]=temp[j];
  61. printf("%c",shr[k]);
  62. }
  63. i=i+2;
  64. printf("\nPresentation Layer: ");
  65. for(j=i,k=0;temp[j]!='\0';j++,k++)
  66. {
  67. phr[k]=temp[j];
  68. printf("%c",phr[k]);
  69. }
  70. i=i+2;
  71. printf("\nApplication Layer: ");
  72. for(j=i,k=0;temp[j]!='\0';j++,k++)
  73. {
  74. ahr[k]=temp[j];
  75. printf("%c",ahr[k]);
  76. }
  77. }
  78.  
  79.  
  80.  
  81.  
  82. Frame Length
  83.  
  84.  
  85. #include<iostream>
  86. using namespace std;
  87.  
  88. int main()
  89. {
  90. cout << "Enter the number of frames: ";
  91. int n;
  92. cin >> n;
  93. string str;
  94. string op;
  95. char size;
  96. while(n--)
  97. {
  98. cout << "Enter the word: ";
  99. cin >> str;
  100. size=(str.size())+'0';
  101. op = op + size + str;
  102. }
  103. cout << "The transmitted data is: \n";
  104. cout << op;
  105. }
  106.  
  107.  
  108.  
  109.  
  110. Hamming Code
  111.  
  112.  
  113. #include<stdio.h>
  114. #include<conio.h>
  115. int main() {
  116. int data[7],rec[7],i,c1,c2,c3,c;
  117. printf("this works for message of 4bits in size \nenter message bit one by one: ");
  118. scanf("%d%d%d%d",&data[0],&data[1],&data[2],&data[3]);
  119. data[6]=data[3]^data[2]^data[1];
  120. data[5]=data[2]^data[1]^data[0];
  121. data[4]=data[3]^data[2]^data[0];
  122. printf("\nthe encoded bits are given below: \n");
  123. for (i=0;i<7;i++) {
  124. printf("%d ",data[i]);
  125. }
  126. printf("\nenter the received data bits one by one: ");
  127. for (i=0;i<7;i++) {
  128. scanf("%d",&rec[i]);
  129. }
  130. c1=rec[1]^rec[2]^rec[3]^rec[6];
  131. c2=rec[0]^rec[1]^rec[2]^rec[5];
  132. c3=rec[0]^rec[2]^rec[3]^rec[4];
  133. c=c3*4+c2*2+c1 ;
  134. if(c==0) {
  135. printf("\ncongratulations there is no error: ");
  136. } else if( c==1)
  137. {
  138. printf("\n Error in 7th bit");
  139. if(rec[6]==1)
  140. rec[6]=0;
  141. else
  142. rec[6]=1;
  143. }
  144. else if(c==2)
  145. {
  146. printf("\n Error in 6th bit");
  147. if(rec[5]==1)
  148. rec[5]=0;
  149. else
  150. rec[5]=1;
  151. }
  152. else if(c==3)
  153. {
  154. printf("\n Error in 2nd bit");
  155. if(rec[1]==1)
  156. rec[1]=0;
  157. else
  158. rec[1]=1;
  159. }
  160. else if(c==4)
  161. {
  162. printf("\n Error in 5th bit");
  163. if(rec[4]==1)
  164. rec[4]=0;
  165. else
  166. rec[4]=1;
  167. }
  168. else if(c==5)
  169. {
  170. printf("\n Error in 4th bit");
  171. if(rec[3]==1)
  172. rec[3]=0;
  173. else
  174. rec[3]=1;
  175. }
  176. else if(c==6)
  177. {
  178. printf("\n Error in 1st bit");
  179. if(rec[0]==1)
  180. rec[0]=0;
  181. else
  182. rec[0]=1;
  183. }
  184. else if(c==7)
  185. {
  186. printf("\n Error in 2nd bit");
  187. if(rec[1]==1)
  188. rec[1]=0;
  189. else
  190. rec[1]=1;
  191. }
  192. printf("\n Corrected pattern\t");
  193. for (i=0;i<7;i++) {
  194. printf("%d ",rec[i]);
  195. }
  196. getch();
  197. return 0;
  198. }
  199.  
  200.  
  201.  
  202.  
  203.  
  204. Bit Stuffing
  205.  
  206.  
  207. #include <iostream>
  208. using namespace std ;
  209. int main ()
  210. {
  211.  
  212. char a[25] = "110011111100111111110";
  213. char b[25] = "", c[25] = "";
  214. int i = 0, count = 0, j = 0 ;
  215.  
  216. cout << endl << "Before stuffing \t: " << a <<endl ;
  217.  
  218. for ( i = 0, j = 0 ; a[i] ; i++, j++ )
  219. {
  220. if ( a[i] == '1' )
  221. count++ ;
  222. else
  223. count = 0 ;
  224.  
  225. b[j] = a[i] ;
  226.  
  227. if ( count == 5 )
  228. {
  229. b[++j] = '0' ;
  230. count = 0 ;
  231. }
  232. }
  233.  
  234. cout << endl << "After stuffing \t: " << b <<endl ;
  235.  
  236. for ( i = 0, j = 0 ; b[i] ; i++, j++ )
  237. {
  238. if ( b[i] == '1' )
  239. count++ ;
  240. else
  241. count = 0 ;
  242.  
  243. c[j] = b[i] ;
  244.  
  245. if ( count == 5 )
  246. {
  247. i++ ;
  248. count = 0 ;
  249. }
  250. }
  251.  
  252. cout << endl << "After de-stuffing \t: " << c << endl << endl;
  253. }
  254.  
  255.  
  256. Byte Stuffing
  257.  
  258.  
  259.  
  260.  
  261.  
  262. #include <stdio.h>
  263. #include <conio.h>
  264. int main()
  265. {
  266. char str[100];
  267. int k=0; int i,j;
  268. for(j=0;j<100;j++)
  269. str[j]=' ';
  270. printf("\n Enter length of data");
  271. scanf("%d", &k);
  272. printf("\n Enter data");
  273. scanf("%s",str);
  274. char flag='e';
  275. char ent='z';
  276. char temp;
  277. for (i=0;i<k;i++)
  278. {
  279. if(str[i]==flag)
  280. {
  281. for (j=k+1;j>=i+1;j--)
  282. {
  283. temp=str[j-1];
  284. str[j]=temp;
  285. }
  286. k++;
  287. str[i]='z';
  288. i++;
  289. }
  290. if(str[i]=='z')
  291. {
  292. for (j=k+1;j>=i;j--)
  293. {
  294. str[j]=str[j-1];
  295. }
  296. k++;
  297. str[i]='z';
  298. i++;
  299. }
  300. }
  301. for(i=k+1;i>=1;i--)
  302. {
  303. temp=str[i-1];
  304. str[i]=temp;
  305. }
  306. str[0]=flag;
  307. str[k+1]=flag;
  308. printf("\nOutput:");
  309. puts(str);
  310. getch();
  311. }
  312.  
  313.  
  314.  
  315. Check Sum
  316.  
  317.  
  318.  
  319.  
  320. #include<stdio.h>
  321. #include<conio.h>
  322. int adder( int binary1, int binary2)
  323. {
  324. int ad=0,sumer[20],i=0,remainder=0;
  325. while(binary1!=0||binary2!=0)
  326. {
  327. sumer[i++] = (binary1 %10 + binary2 %10 + remainder ) % 2;
  328. remainder = (binary1 %10 + binary2 %10 + remainder ) / 2;
  329. binary1=binary1/10;
  330. binary2=binary2/10;
  331. }
  332. if(remainder!=0)
  333. sumer[i++]=remainder;
  334. --i;
  335. while(i>=0)
  336. {
  337. ad=ad*10+sumer[i];
  338. --i;
  339. }
  340. return ad;
  341. }
  342. int main()
  343. {
  344. printf("Enter the number of binary numbers for which you want to find the checksum \n");
  345. int count,rem=0,temp2=0;
  346. scanf("%d",&count);
  347. int temp;
  348. int sum=0;
  349. printf("Enter a binary number\n");
  350. scanf("%d",&temp);
  351. for(int i=2;i<=count;i++)
  352. {
  353. if(i==2)
  354. {
  355. printf("Enter a binary number\n");
  356. scanf("%d",&temp2);
  357. sum=sum+adder(temp2, temp);
  358. }
  359. else
  360. {
  361. printf("Enter a binary number\n");
  362. scanf("%d",&temp2);
  363. sum=adder(temp2, sum);
  364. }
  365. }
  366. printf("Sum=%d\n",sum);
  367. int newsum[100],c=0;
  368. for(int i=0;i<100;i++)
  369. newsum[i]=0;
  370. while(sum>0)
  371. {
  372. rem=sum%10;
  373. if(rem==0)
  374. {
  375. newsum[c]=1;
  376. }
  377. else if(rem==1)
  378. {
  379. newsum[c]=0;
  380. }
  381. c++;
  382. sum/=10;
  383. }
  384. c=c-1;
  385. printf("Checksum=");
  386. while(c>=0)
  387. {
  388. printf("%d",newsum[c]);
  389. c-=1;
  390. }
  391. return 0;
  392. }
  393.  
  394.  
  395.  
  396. CRC Calculator
  397.  
  398.  
  399.  
  400. #include <stdio.h>
  401. #include <conio.h>
  402. #include <string.h>
  403. void main()
  404. {
  405. int i,j,keylen,msglen;
  406. char input[100], key[30],temp[30],quot[100],rem[30],key1[30];
  407. printf("Enter Data: ");
  408. gets(input);
  409. printf("Enter Key: ");
  410. gets(key);
  411. keylen=strlen(key);
  412. msglen=strlen(input);
  413. strcpy(key1,key);
  414. for(i=0;i<keylen-1;i++)
  415. {
  416. input[msglen+i]='0';
  417. }
  418. for(i=0;i<keylen;i++)
  419. temp[i]=input[i];
  420. for(i=0;i<msglen;i++)
  421. {
  422. quot[i]=temp[0];
  423. if(quot[i]=='0')
  424. for(j=0;j<keylen;j++)
  425. key[j]='0';
  426. else
  427. for(j=0;j<keylen;j++)
  428. key[j]=key1[j];
  429. for(j=keylen-1;j>0;j--)
  430. {
  431. if(temp[j]==key[j])
  432. rem[j-1]='0';
  433. else
  434. rem[j-1]='1';
  435. }
  436. rem[keylen-1]=input[i+keylen];
  437. strcpy(temp,rem);
  438. }
  439. strcpy(rem,temp);
  440. printf("\nQuotient is ");
  441. for(i=0;i<msglen;i++)
  442. printf("%c",quot[i]);
  443. printf("\nRemainder is ");
  444. for(i=0;i<keylen-1;i++)
  445. printf("%c",rem[i]);
  446. printf("\nFinal data is: ");
  447. for(i=0;i<msglen;i++)
  448. printf("%c",input[i]);
  449. for(i=0;i<keylen-1;i++)
  450. printf("%c",rem[i]);
  451. getch();
  452. }
  453.  
  454.  
  455.  
  456.  
  457. Sliding Window
  458.  
  459.  
  460.  
  461.  
  462. #include<stdio.h>
  463.  
  464. #include<conio.h> void main()
  465. {
  466.  
  467. char sender[50],receiver[50]; int i,winsize;
  468. clrscr();
  469.  
  470. printf("\n ENTER THE WINDOWS SIZE : ");
  471.  
  472. scanf("%d",&winsize);
  473.  
  474. printf("\n SENDER WINDOW IS EXPANDED TO STORE MESSAGE OR WINDOW \n"); printf("\n ENTER THE DATA TO BE SENT: ");
  475. fflush(stdin); gets(sender); for(i=0;i<winsize;i++) receiver[i]=sender[i]; receiver[i]=NULL;
  476. printf("\n MESSAGE SEND BY THE SENDER:\n");
  477.  
  478. puts(sender);
  479.  
  480. printf("\n WINDOW SIZE OF RECEIVER IS EXPANDED\n"); printf("\n ACKNOWLEDGEMENT FROM RECEIVER \n");
  481. for(i=0;i<winsize;i++); printf("\n ACK:%d",i);
  482. printf("\n MESSAGE RECEIVED BY RECEIVER IS : ");
  483.  
  484. puts(receiver);
  485.  
  486. printf("\n WINDOW SIZE OF RECEIVER IS SHRINKED \n");
  487.  
  488.  
  489.  
  490. getch();
  491.  
  492. }
  493.  
  494.  
  495.  
  496. Client server based Sliding window protocol
  497.  
  498.  
  499.  
  500. SENDER
  501.  
  502. #include<sys/socket.h>
  503.  
  504. #include<sys/types.h>
  505.  
  506. #include<netinet/in.h>
  507.  
  508. #include<netdb.h>
  509.  
  510. #include<stdio.h>
  511.  
  512. #include<string.h>
  513.  
  514. #include<stdlib.h>
  515.  
  516. #include<unistd.h>
  517.  
  518. #include<errno.h> int main()
  519. {
  520.  
  521. int sock,bytes_received,connected,true=1,i=1,s,f=0,sin_size; char send_data[1024],data[1024],c,fr[30]=" ";
  522. struct sockaddr_in server_addr,client_addr; if((sock=socket(AF_INET,SOCK_STREAM,0))==-1)
  523. {
  524.  
  525. perror("Socket not created"); exit(1);
  526. }
  527.  
  528.  
  529.  
  530. if(setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,&true,sizeof(int))==-1)
  531.  
  532. {
  533.  
  534. perror("Setsockopt"); exit(1);
  535. }
  536.  
  537. server_addr.sin_family=AF_INET; server_addr.sin_port=htons(17000); server_addr.sin_addr.s_addr=INADDR_ANY;
  538. if(bind(sock,(struct sockaddr *)&server_addr,sizeof(struct sockaddr))==-1)
  539.  
  540. {
  541.  
  542. perror("Unable to bind"); exit(1);
  543. }
  544.  
  545. if(listen(sock,5)==-1)
  546.  
  547. {
  548.  
  549. perror("Listen"); exit(1);
  550. }
  551.  
  552. fflush(stdout); sin_size=sizeof(struct sockaddr_in);
  553. connected=accept(sock,(struct sockaddr *)&client_addr,&sin_size); while(strcmp(fr,"exit")!=0)
  554. {
  555.  
  556. printf("Enter Data Frame %d:(Enter exit for End): ",i); scanf("%s",fr);
  557.  
  558.  
  559.  
  560. send(connected,fr,strlen(fr),0); recv(sock,data,1024,0); if(strlen(data)!=0)
  561. printf("I got an acknowledgement : %s\n",data); fflush(stdout);
  562. i++;
  563.  
  564. }
  565.  
  566. close(sock); return (0);
  567. }
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591. RECEIVER
  592.  
  593. #include<sys/socket.h>
  594.  
  595. #include<sys/types.h>
  596.  
  597.  
  598.  
  599. #include<netinet/in.h>
  600.  
  601. #include<netdb.h>
  602.  
  603. #include<stdio.h>
  604.  
  605. #include<string.h>
  606.  
  607. #include<stdlib.h>
  608.  
  609. #include<unistd.h>
  610.  
  611. #include<errno.h> int main()
  612. {
  613.  
  614. int sock,bytes_received,i=1; char receive[30];
  615. struct hostent *host;
  616.  
  617. struct sockaddr_in server_addr; host=gethostbyname("127.0.0.1"); if((sock=socket(AF_INET,SOCK_STREAM,0))==-1)
  618. {
  619.  
  620. perror("Socket not created"); exit(1);
  621. }
  622.  
  623. printf("Socket created"); server_addr.sin_family=AF_INET; server_addr.sin_port=htons(17000); server_addr.sin_addr=*((struct in_addr *)host->h_addr); bzero(&(server_addr.sin_zero),8);
  624. if(connect(sock,(struct sockaddr *)&server_addr,sizeof(struct sockaddr))==-1)
  625.  
  626.  
  627.  
  628. {
  629.  
  630. perror("Connect"); exit(1);
  631. }
  632.  
  633. while(1)
  634.  
  635. {
  636.  
  637. bytes_received=recv(sock,receive,20,0); receive[bytes_received]='\0'; if(strcmp(receive,"exit")==0||strcmp(receive,"exit")==0)
  638. {
  639.  
  640. close(sock); break;
  641. }
  642.  
  643. else
  644.  
  645. {
  646.  
  647. if(strlen(receive)<10)
  648.  
  649. {
  650.  
  651. printf("\n Frame %d data %s received\n",i,receive); send(0,receive,strlen(receive),0);
  652. }
  653.  
  654. else
  655.  
  656. {
  657.  
  658. send(0,"negative",10,0);
  659.  
  660. } i++;
  661.  
  662.  
  663.  
  664. }
  665.  
  666. }
  667.  
  668. close(sock); return(0);
  669. }
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688. OUTPUT SENDER
  689. $ cc sender.c
  690.  
  691. $ ./a.out
  692.  
  693. Enter Data Frame 1:(Enter exit for End): saveetha Enter Data Frame 2:(Enter exit for End): mca Enter Data Frame 3:(Enter exit for End): exit
  694. $
  695.  
  696.  
  697.  
  698. RECEIVER
  699.  
  700. $ cc receiver.c
  701.  
  702.  
  703.  
  704. $ ./a.out Socket created
  705. Frame 1 data saveetha received Frame 2 data mca received
  706. $
  707.  
  708.  
  709.  
  710.  
  711. HOST INFORMATION
  712.  
  713.  
  714. #include <stdio.h>
  715. #include <string.h>
  716. #include <stdlib.h>
  717. #include <sys/socket.h>
  718. #include <errno.h>
  719. #include <netdb.h>
  720. #include <arpa/inet.h>
  721.  
  722. int get_ip(char * , char *);
  723.  
  724. int main(int argc , char *argv[])
  725. {if(argc <2)
  726. {printf("Please provide a hostname");
  727. exit(1);}
  728. char *hostname = argv[1];
  729. char ip[100];
  730. get_ip(hostname , ip);
  731. printf("%s resolved to %s" , hostname , ip);
  732. printf("\n");}
  733.  
  734. int get_ip(char * hostname , char* ip)
  735. { struct hostent *he;
  736. struct in_addr **addr_list;
  737. int i;
  738. if ( (he = gethostbyname( hostname ) ) == NULL)
  739. { herror("gethostbyname");
  740. return 1;}
  741. addr_list = (struct in_addr **) he->h_addr_list;
  742. for(i = 0; addr_list[i] != NULL; i++)
  743. { strcpy(ip , inet_ntoa(*addr_list[i]) );
  744. return 0;}
  745. return 1;
  746. }
  747.  
  748.  
  749.  
  750.  
  751. DAY TIME SERVER
  752.  
  753. #include<netinet/in.h>
  754. #include<sys/socket.h>
  755. main( )
  756. {
  757. struct sockaddr_in sa;
  758. struct sockaddr_in cli;
  759. int sockfd,coontfd;
  760. int len,ch;
  761. char str[100];
  762. time_t tick;
  763. sockfd=socket(AF_INET,SOCK_STREAM,0);
  764. if(socket<0)
  765. {
  766. printf(“error in socket\n”);
  767. exit(0);
  768. }
  769. else
  770. printf(“Socket Opened”);
  771. bzero(7sa,sizeof(sa));
  772. sa.sin_port=htons(5600);
  773. sa.sin_addr.s_addr=htonl(0);
  774. if(bind(sockfd,(struct sockaddr*)&sa,sizeof(sa))<0)
  775. {
  776. printf(“Error in binding\n”);
  777. }
  778. else
  779. printf(“Binded Successfully”);
  780. listen(sockfd,50)
  781. for(;;)
  782. {
  783. len=sizeof(ch);
  784. conntfd=accept(sockfd,(struct sockaddr*)&cli,&len);
  785. printf(“Accepted”);
  786. tick=ctime(NULL);
  787. snprintf(str,sizeof(str),”%s”,ctime(&tick));
  788. write(conntfd,str,100);
  789. }
  790. }
  791.  
  792.  
  793.  
  794. DAY TIME CLIENT
  795.  
  796. #include<netinet/in.h>
  797. #include<sys/socket.h>
  798. main()
  799. {
  800. struct sockaddr_in sa,cli;
  801. int n,sockfd;
  802. int len;
  803. char buff[100];
  804. sockfd=socket(AF_INET,SOCK_STREAM,0);
  805. if(sockfd<0)
  806. {
  807. printf(“Error in Socket”);
  808. exit(0);
  809. }
  810. else
  811. printf(“Socket is Opened”);
  812. bzero(&sa,sizeof(sa));
  813. sa.sin_family=AF_INET;
  814. sa.sin_port=htons(5600);
  815. if(connect(sockfd,(struct sockaddr*)&sa,sizeof(sa))<0)
  816. {
  817. printf(“Error in connection failed”);
  818. exit(0);
  819. }
  820. else
  821. printf(“connected successfully”):
  822. if(n=read(sockfd,buff,sizeof(buff))<0)
  823. {
  824. printf(“Error in Reading”);
  825. exit(0);
  826. }
  827. else
  828. {
  829. printf(“Message Read %s”,buff);
  830. buff[n]=’\0’;
  831. printf(“%s”,buff);
  832. }
  833. }
  834.  
  835.  
  836.  
  837.  
  838.  
  839. Chat App TCP IP - client
  840.  
  841.  
  842. #include<stdio.h>
  843. #include<stdlib.h>
  844. #include<string.h>
  845. #include<sys/socket.h>
  846. #include<netdb.h>
  847. #include<arpa/inet.h>
  848.  
  849. void error(char *msg)
  850. {
  851. perror(msg);
  852. exit(1);
  853. }
  854.  
  855. int main(int argc,char* argv[])
  856. {
  857. int sockfd,portno;
  858. char recvbuffer[256],sendbuffer[256];
  859. struct sockaddr_in ser_addr;
  860. struct hostent* server;
  861. int i;
  862.  
  863. if(argc<3)
  864. error("./client hostname portno");
  865.  
  866. server=gethostbyname(argv[1]);
  867. portno=atoi(argv[2]);
  868.  
  869. bzero((char*)&ser_addr,sizeof(ser_addr));
  870. ser_addr.sin_family=AF_INET;
  871. bcopy((char*)server->h_addr,(char*)&ser_addr.sin_addr.s_addr,server->h_length);
  872. ser_addr.sin_port=htons(portno);
  873.  
  874. sockfd=socket(AF_INET,SOCK_STREAM,0);
  875. if(sockfd==-1)
  876. error("error in socket descriptor");
  877. printf("\nsocket created\n");
  878.  
  879. if(connect(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)
  880. error("error in connect");
  881. printf("\nconnect successfully\n");
  882.  
  883. bzero(recvbuffer,sizeof(recvbuffer));
  884. bzero(sendbuffer,sizeof(sendbuffer));
  885.  
  886. i=fork();
  887. if(i==0)
  888. {
  889. printf("\nfork reading\n");
  890. while(1)
  891. {
  892. if(read(sockfd,recvbuffer,sizeof(recvbuffer))<0)
  893. error("error in reading");
  894. printf("\nserver:%s\n",recvbuffer);
  895. bzero(recvbuffer,sizeof(recvbuffer));
  896. }
  897. }
  898. else
  899. {
  900. printf("\n fork writing\n");
  901. while(1)
  902. {
  903. scanf("%s",sendbuffer);
  904. if(write(sockfd,sendbuffer,sizeof(sendbuffer))<0)
  905. error("error in writing");
  906. }
  907. }
  908. close(sockfd);
  909. return 0;
  910. }
  911.  
  912.  
  913.  
  914.  
  915. Chat App TCP IP - Server
  916.  
  917.  
  918.  
  919. #include<stdio.h>
  920. #include<stdlib.h>
  921. #include<string.h>
  922. #include<sys/socket.h>
  923. #include<netdb.h>
  924. #include<arpa/inet.h>
  925.  
  926. void error(char *msg)
  927. {
  928. perror(msg);
  929. exit(1);
  930. }
  931.  
  932. int main(int argc,char* argv[])
  933. {
  934. int sockfd,newsockfd,portno;
  935. char recvbuffer[256],sendbuffer[256];
  936. struct sockaddr_in ser_addr,cli_addr;
  937. int i;
  938.  
  939. if(argc<2)
  940. error("./server portno");
  941.  
  942. portno=atoi(argv[1]);
  943.  
  944. bzero((char*)&ser_addr,sizeof(ser_addr));
  945. ser_addr.sin_family=AF_INET;
  946. ser_addr.sin_addr.s_addr=INADDR_ANY;
  947. ser_addr.sin_port=htons(portno);
  948.  
  949. sockfd=socket(AF_INET,SOCK_STREAM,0);
  950. if(sockfd==-1)
  951. error("error in socket descriptor");
  952. printf("\nsocket created\n");
  953.  
  954. if(bind(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)
  955. error("error in binding");
  956. printf("\nbinding successful\n");
  957.  
  958. if(listen(sockfd,5)==-1)
  959. error("error in listening");
  960. printf("\nlisten successfully\n");
  961.  
  962. bzero(recvbuffer,sizeof(recvbuffer));
  963. bzero(sendbuffer,sizeof(sendbuffer));
  964.  
  965.  
  966. newsockfd=accept(sockfd,(struct sockaddr*)NULL,NULL);
  967.  
  968. i=fork();
  969. if(i==0)
  970. {
  971. printf("\nfork reading\n");
  972. while(1)
  973. {
  974. if(read(newsockfd,recvbuffer,sizeof(recvbuffer))<0)
  975. error("error in reading");
  976. printf("\nclient:%s\n",recvbuffer);
  977. bzero(recvbuffer,sizeof(recvbuffer));
  978. }
  979. }
  980. else
  981. {
  982. printf("\n fork writing\n");
  983. while(1)
  984. {
  985. scanf("%s",sendbuffer);
  986. if(write(newsockfd,sendbuffer,sizeof(sendbuffer))<0)
  987. error("error in writing");
  988. }
  989.  
  990. }
  991. close(newsockfd);
  992. return 0;
  993. }
  994.  
  995.  
  996. File Transfer Client
  997.  
  998.  
  999. #include<stdio.h>
  1000. #include<stdlib.h>
  1001. #include<string.h>
  1002. #include<sys/socket.h>
  1003. #include<netdb.h>
  1004. #include<arpa/inet.h>
  1005.  
  1006. void error(char *msg)
  1007. {
  1008. perror(msg);
  1009. exit(1);
  1010. }
  1011.  
  1012. int main(int argc,char* argv[])
  1013. {
  1014. int sockfd,portno;
  1015. char buffer[256];
  1016. struct sockaddr_in ser_addr;
  1017. struct hostent* server;
  1018.  
  1019. if(argc<3)
  1020. error("./client hostname portno");
  1021.  
  1022. server=gethostbyname(argv[1]);
  1023. portno=atoi(argv[2]);
  1024.  
  1025. bzero((char*)&ser_addr,sizeof(ser_addr));
  1026. ser_addr.sin_family=AF_INET;
  1027. bcopy((char*)server->h_addr,(char*)&ser_addr.sin_addr.s_addr,server->h_length);
  1028. ser_addr.sin_port=htons(portno);
  1029.  
  1030. sockfd=socket(AF_INET,SOCK_STREAM,0);
  1031. if(sockfd==-1)
  1032. error("error in socket descriptor");
  1033. printf("\nsocket created\n");
  1034.  
  1035. if(connect(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)
  1036. error("error in connect");
  1037. printf("\nconnect successfully\n");
  1038.  
  1039. FILE* fp;
  1040. int nread;
  1041. fp=fopen("sample1.txt","r");
  1042. if(fp==NULL)
  1043. error("error in file opening");
  1044.  
  1045. while(1)
  1046. {
  1047. nread=fread(buffer,1,sizeof(buffer),fp);
  1048. if(nread>0)
  1049. write(sockfd,buffer,nread);
  1050. if(nread<256)
  1051. {
  1052. if(feof(fp))
  1053. printf("\nEnd of file\n");
  1054.  
  1055. if(ferror(fp))
  1056. printf("\n error in file\n");
  1057.  
  1058. break;
  1059. }
  1060. }
  1061. close(sockfd);
  1062. return 0;
  1063. }
  1064.  
  1065.  
  1066. File Transfer Server
  1067.  
  1068.  
  1069.  
  1070.  
  1071. #include<stdio.h>
  1072. #include<stdlib.h>
  1073. #include<string.h>
  1074. #include<sys/socket.h>
  1075. #include<netdb.h>
  1076. #include<arpa/inet.h>
  1077.  
  1078. void error(char *msg)
  1079. {
  1080. perror(msg);
  1081. exit(1);
  1082. }
  1083.  
  1084. int main(int argc,char* argv[])
  1085. {
  1086. int sockfd,newsockfd,portno;
  1087. char buffer[256];
  1088. struct sockaddr_in ser_addr;
  1089.  
  1090. if(argc<2)
  1091. error("./server portno");
  1092.  
  1093. portno=atoi(argv[1]);
  1094.  
  1095. bzero((char*)&ser_addr,sizeof(ser_addr));
  1096. ser_addr.sin_family=AF_INET;
  1097. ser_addr.sin_addr.s_addr=INADDR_ANY;
  1098. ser_addr.sin_port=htons(portno);
  1099.  
  1100. sockfd=socket(AF_INET,SOCK_STREAM,0);
  1101. if(sockfd==-1)
  1102. error("error in socket descriptor");
  1103. printf("\nsocket created\n");
  1104.  
  1105. if(bind(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)
  1106. error("error in binding");
  1107. printf("\nbinding successful\n");
  1108.  
  1109. if(listen(sockfd,5)==-1)
  1110. error("error in listening");
  1111. printf("\nlisten successfully\n");
  1112.  
  1113. newsockfd=accept(sockfd,NULL,NULL);
  1114.  
  1115. FILE* fp;
  1116. int nread;
  1117. fp=fopen("sample.txt","ab");
  1118. if(fp==NULL)
  1119. error("error in file opening");
  1120.  
  1121. while((nread=read(newsockfd,buffer,sizeof(buffer)))>0)
  1122. {
  1123. fwrite(buffer,1,nread,fp);
  1124. bzero(buffer,sizeof(buffer));
  1125. }
  1126.  
  1127. close(newsockfd);
  1128. return 0;
  1129. }
  1130.  
  1131.  
  1132.  
  1133. Message Transfer Client UDP
  1134.  
  1135.  
  1136. #include<stdio.h>
  1137. #include<stdlib.h>
  1138. #include<string.h>
  1139. #include<sys/socket.h>
  1140. #include<netdb.h>
  1141. #include<arpa/inet.h>
  1142.  
  1143. void error(char *msg)
  1144. {
  1145. perror(msg);
  1146. exit(1);
  1147. }
  1148.  
  1149. int main(int argc,char* argv[])
  1150. {
  1151. int sockfd,portno;
  1152. char buffer[256];
  1153. struct sockaddr_in ser_addr;
  1154. struct hostent* server;
  1155.  
  1156. if(argc<3)
  1157. error("./client hostname portno");
  1158.  
  1159. server=gethostbyname(argv[1]);
  1160. portno=atoi(argv[2]);
  1161.  
  1162. bzero((char*)&ser_addr,sizeof(ser_addr));
  1163. ser_addr.sin_family=AF_INET;
  1164. bcopy((char*)server->h_addr,(char*)&ser_addr.sin_addr.s_addr,server->h_length);
  1165. ser_addr.sin_port=htons(portno);
  1166.  
  1167. sockfd=socket(AF_INET,SOCK_STREAM,0);
  1168. if(sockfd==-1)
  1169. error("error in socket descriptor");
  1170. printf("\nsocket created\n");
  1171.  
  1172. if(connect(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)
  1173. error("error in connect");
  1174. printf("\nconnect successfully\n");
  1175.  
  1176. bzero(buffer,sizeof(buffer));
  1177.  
  1178.  
  1179. while(1)
  1180. {
  1181. printf("\nEnter message for server:");
  1182. scanf("%s",buffer);
  1183. if(write(sockfd,buffer,sizeof(buffer))<0)
  1184. printf("writing error");
  1185.  
  1186. if(read(sockfd,buffer,sizeof(buffer))<0)
  1187. printf("\n message read error\n");
  1188.  
  1189. printf("\nmessage got from client:%s",buffer);
  1190. bzero(buffer,sizeof(buffer));
  1191.  
  1192.  
  1193. }
  1194. close(sockfd);
  1195. return 0;
  1196. }
  1197.  
  1198.  
  1199.  
  1200.  
  1201. Username password server
  1202.  
  1203. #include <stdio.h>
  1204. #include <stdlib.h>
  1205. #include <unistd.h>
  1206. #include <errno.h>
  1207. #include <string.h>
  1208. #include <netdb.h>
  1209. #include <sys/types.h>
  1210. #include <netinet/in.h>
  1211. #include <sys/socket.h>
  1212. #include <arpa/inet.h>
  1213. int main(int argc, char *argv[])
  1214. {
  1215. int sock_des,port,n1,n2,s1,s2;
  1216. char null_character;
  1217. char buffer1[100],buffer2[100],buffer3[100],buffer4[100];
  1218. int length,new_des;
  1219. struct sockaddr_in server_addr,client_addr;
  1220. bzero(buffer3,sizeof(buffer3));
  1221. printf("\n Input Authentic Username :\n");
  1222. scanf("%s",buffer3);
  1223. bzero(buffer4,sizeof(buffer4));
  1224. printf("\n Input Authentic Password :\n");
  1225. scanf("%s",buffer4);
  1226. if(argc!=2)
  1227. {
  1228. printf("Usage: ./server port\n");
  1229. exit(1);
  1230. }
  1231. port= atoi(argv[1]);
  1232. if((sock_des=socket(AF_INET,SOCK_STREAM,0))==-1)
  1233. {
  1234. perror("socket");
  1235. exit(1);
  1236. }
  1237.  
  1238.  
  1239. server_addr.sin_family = AF_INET;
  1240. server_addr.sin_port = htons(port);
  1241. server_addr.sin_addr.s_addr= htonl(INADDR_ANY);
  1242. if (bind(sock_des,(const struct sockaddr *)&server_addr,sizeof(struct sockaddr))==-1)
  1243. {
  1244. perror("bind");
  1245. exit(1);
  1246. }
  1247. if( listen(sock_des,5)==-1)
  1248. {
  1249. perror("listen");
  1250. exit(1);
  1251. }
  1252. printf("Server is listening at port %d \n", port);
  1253. while(1)
  1254. {
  1255. if((new_des=accept(sock_des,(struct sockaddr *)&client_addr,&length))==-1)
  1256. {
  1257. perror("accept");
  1258. exit(1);
  1259. }
  1260. bzero(buffer1,sizeof(buffer1));
  1261. n1=read(new_des,buffer1,sizeof(buffer1));
  1262. buffer1[n1]=null_character;
  1263. if((s1=strcmp(buffer1,buffer3))==0)
  1264. {
  1265. write(new_des,"Username Match!Enter Password",30);
  1266. printf("Username Match !!!\n");
  1267. bzero(buffer2,sizeof(buffer2));
  1268. n2=read(new_des,buffer2,sizeof(buffer2));
  1269. buffer2[n2]=null_character;
  1270. if((s2=strcmp(buffer2,buffer4))==0)
  1271. {
  1272. write(new_des,"Password Match",15);
  1273. printf("Password Match !!!\n");
  1274. }
  1275. else
  1276. {
  1277. write(new_des,"Password NOT Match",19);
  1278. printf("Password NOT Match !!!\n");
  1279. }
  1280. }
  1281. else
  1282. {
  1283. write(new_des,"Username Not Match",19);
  1284. printf("Username Not Match !!!\n");
  1285. }
  1286. close(new_des);
  1287. }
  1288. }
  1289.  
  1290.  
  1291. Username password Client
  1292.  
  1293. #include <stdio.h>
  1294. #include <stdlib.h>
  1295. #include <unistd.h>
  1296. #include <errno.h>
  1297. #include <string.h>
  1298. #include <netdb.h>
  1299. #include <sys/types.h>
  1300. #include <netinet/in.h>
  1301. #include <sys/socket.h>
  1302. #include <arpa/inet.h>
  1303. int main(int argc,char *argv[])
  1304. {
  1305. int sock_des,port,n;
  1306. char null_character;
  1307. struct hostent *host;
  1308. char buffer1[100],buffer2[100],buffer3[100],buffer4[100];
  1309. struct sockaddr_in server_addr;
  1310. if(argc!=3)
  1311. {
  1312. printf("Usage: ./client hostname port\n");
  1313. exit(1);
  1314. }
  1315. if((host=gethostbyname(argv[1]))==NULL)
  1316. {
  1317. printf("Unknown Host\n");
  1318. exit(1);
  1319. }
  1320. port = atoi(argv[2]);
  1321. if((sock_des=socket(AF_INET,SOCK_STREAM,0))==-1)
  1322. {
  1323. perror("socket");
  1324. exit(1);
  1325. }
  1326. server_addr.sin_family = AF_INET;
  1327. server_addr.sin_port = htons(port);
  1328. server_addr.sin_addr = *((struct in_addr *)host->h_addr);
  1329. if(connect(sock_des,(struct sockaddr *)&server_addr,sizeof(struct sockaddr))==-1)
  1330. {
  1331. perror("connect");
  1332. exit(1);
  1333. }
  1334. bzero(buffer1,sizeof(buffer1));
  1335. printf("Enter the Username :\n");
  1336. scanf("%s",buffer1);
  1337. write(sock_des,buffer1,sizeof(buffer1));
  1338. bzero(buffer4,sizeof(buffer4));
  1339.  
  1340.  
  1341. n=read(sock_des,buffer4,sizeof(buffer4));
  1342. buffer4[n]= null_character;
  1343. printf("Server Sent : %s\n", buffer4);
  1344. bzero(buffer2,sizeof(buffer2));
  1345. printf("Enter the Password :\n");
  1346. scanf("%s",buffer2);
  1347. write(sock_des,buffer2,sizeof(buffer2));
  1348. bzero(buffer3,sizeof(buffer3));
  1349. n=read(sock_des,buffer3,sizeof(buffer3));
  1350. buffer3[n]=null_character;
  1351. printf("Server Sent : %s\n", buffer3);
  1352. close(sock_des);
  1353. }
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360. Message Transfer Server UDP
  1361.  
  1362.  
  1363.  
  1364. #include<stdio.h>
  1365. #include<stdlib.h>
  1366. #include<string.h>
  1367. #include<sys/socket.h>
  1368. #include<netdb.h>
  1369. #include<arpa/inet.h>
  1370.  
  1371. void error(char *msg)
  1372. {
  1373. perror(msg);
  1374. exit(1);
  1375. }
  1376.  
  1377. int main(int argc,char* argv[])
  1378. {
  1379. int sockfd,newsockfd,portno;
  1380. char buffer[256];
  1381. struct sockaddr_in ser_addr;
  1382.  
  1383. if(argc<2)
  1384. error("./server portno");
  1385.  
  1386. portno=atoi(argv[1]);
  1387.  
  1388. bzero((char*)&ser_addr,sizeof(ser_addr));
  1389. ser_addr.sin_family=AF_INET;
  1390. ser_addr.sin_addr.s_addr=INADDR_ANY;
  1391. ser_addr.sin_port=htons(portno);
  1392.  
  1393. sockfd=socket(AF_INET,SOCK_STREAM,0);
  1394. if(sockfd==-1)
  1395. error("error in socket descriptor");
  1396. printf("\nsocket created\n");
  1397.  
  1398. if(bind(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)
  1399. error("error in binding");
  1400. printf("\nbinding successful\n");
  1401.  
  1402. if(listen(sockfd,5)==-1)
  1403. error("error in listening");
  1404. printf("\nlisten successfully\n");
  1405.  
  1406. newsockfd=accept(sockfd,NULL,NULL);
  1407.  
  1408. bzero(buffer,sizeof(buffer));
  1409.  
  1410. while(1)
  1411. {
  1412. if(read(newsockfd,buffer,sizeof(buffer))<0)
  1413. printf("\n message read error\n");
  1414.  
  1415. printf("\nmessage got from client:%s",buffer);
  1416. bzero(buffer,sizeof(buffer));
  1417.  
  1418. printf("\nEnter message for client:");
  1419. scanf("%s",buffer);
  1420. if(write(newsockfd,buffer,sizeof(buffer))<0)
  1421. printf("writing error");
  1422. }
  1423. close(newsockfd);
  1424. return 0;
  1425. }
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431. ECHO - UDP
  1432.  
  1433.  
  1434. #include <stdio.h> /* standard C i/o facilities */
  1435. #include <stdlib.h> /* needed for atoi() */
  1436. #include <unistd.h> /* defines STDIN_FILENO, system calls,etc */
  1437. #include <sys/types.h> /* system data type definitions */
  1438. #include <sys/socket.h> /* socket specific definitions */
  1439. #include <netinet/in.h> /* INET constants and stuff */
  1440. #include <arpa/inet.h> /* IP address conversion stuff */
  1441. #include <netdb.h> /* gethostbyname */
  1442.  
  1443.  
  1444.  
  1445. /* this routine echos any messages (UDP datagrams) received */
  1446.  
  1447. #define MAXBUF 1024*1024
  1448.  
  1449. void echo( int sd ) {
  1450. int len,n;
  1451. char bufin[MAXBUF];
  1452. struct sockaddr_in remote;
  1453.  
  1454. /* need to know how big address struct is, len must be set before the
  1455. call to recvfrom!!! */
  1456.  
  1457. len = sizeof(remote);
  1458.  
  1459. while (1) {
  1460. /* read a datagram from the socket (put result in bufin) */
  1461. n=recvfrom(sd,bufin,MAXBUF,0,(struct sockaddr *)&remote,&len);
  1462.  
  1463. /* print out the address of the sender */
  1464. printf("Got a datagram from %s port %d\n",
  1465. inet_ntoa(remote.sin_addr), ntohs(remote.sin_port));
  1466.  
  1467. if (n<0) {
  1468. perror("Error receiving data");
  1469. } else {
  1470. printf("GOT %d BYTES\n",n);
  1471. /* Got something, just send it back */
  1472. sendto(sd,bufin,n,0,(struct sockaddr *)&remote,len);
  1473. }
  1474. }
  1475. }
  1476.  
  1477. /* server main routine */
  1478.  
  1479. int main() {
  1480. int ld;
  1481. struct sockaddr_in skaddr;
  1482. int length;
  1483.  
  1484. /* create a socket
  1485. IP protocol family (PF_INET)
  1486. UDP protocol (SOCK_DGRAM)
  1487. */
  1488.  
  1489. if ((ld = socket( PF_INET, SOCK_DGRAM, 0 )) < 0) {
  1490. printf("Problem creating socket\n");
  1491. exit(1);
  1492. }
  1493.  
  1494. /* establish our address
  1495. address family is AF_INET
  1496. our IP address is INADDR_ANY (any of our IP addresses)
  1497. the port number is assigned by the kernel
  1498. */
  1499.  
  1500. skaddr.sin_family = AF_INET;
  1501. skaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  1502. skaddr.sin_port = htons(0);
  1503.  
  1504. if (bind(ld, (struct sockaddr *) &skaddr, sizeof(skaddr))<0) {
  1505. printf("Problem binding\n");
  1506. exit(0);
  1507. }
  1508.  
  1509. /* find out what port we were assigned and print it out */
  1510.  
  1511. length = sizeof( skaddr );
  1512. if (getsockname(ld, (struct sockaddr *) &skaddr, &length)<0) {
  1513. printf("Error getsockname\n");
  1514. exit(1);
  1515. }
  1516.  
  1517. /* port number's are network byte order, we have to convert to
  1518. host byte order before printing !
  1519. */
  1520. printf("The server UDP port number is %d\n",ntohs(skaddr.sin_port));
  1521.  
  1522. /* Go echo every datagram we get */
  1523. echo(ld);
  1524. return(0);
  1525. }
  1526.  
  1527.  
  1528.  
  1529.  
  1530. list all ports hosting a TCP server in a specified host.
  1531.  
  1532.  
  1533. #include(stdio.h)
  1534.  
  1535. #include(arpa/inet.h)
  1536.  
  1537. #include(netdb.h)
  1538.  
  1539. #include(stdlib.h)
  1540.  
  1541. int main(int argc,char* argv[])
  1542.  
  1543. {
  1544.  
  1545. struct hostent *host;
  1546.  
  1547. struct sockaddr_in server_addr;
  1548.  
  1549. int sock_des,port;
  1550.  
  1551. if(argc != 2)
  1552.  
  1553. {
  1554.  
  1555. printf(“Usage ;./a.out hostname \n”);
  1556.  
  1557. exit(1);
  1558.  
  1559. }
  1560.  
  1561. if ((host=gethostbyname(argv[1])) == NULL)
  1562.  
  1563. {
  1564.  
  1565. printf(“Unknown Host\n”);
  1566.  
  1567. exit(1);
  1568.  
  1569. }
  1570.  
  1571. for(port = 0; port<= 65535; port++)
  1572.  
  1573. {
  1574.  
  1575. if((sock_des = socket(AF_INET,SOCK_STREAM,0) == -1))
  1576.  
  1577. {
  1578.  
  1579. perror(“socket”);
  1580.  
  1581. exit(1);
  1582.  
  1583. }
  1584.  
  1585. server_addr.sin_family = AF_INET;
  1586.  
  1587. server_addr.sin_port = htons(port);
  1588.  
  1589. server_addr.sin_addr = *((struct in_addr *)host->h_addr);
  1590.  
  1591. if (connect(sock_des, (struct sockaddr *)&server_addr, sizeof(struct sockaddr))
  1592.  
  1593. != -1)
  1594.  
  1595. {
  1596.  
  1597. printf(“port %d is open \n”,port);
  1598.  
  1599. }
  1600.  
  1601. close(sock_des);
  1602.  
  1603. }
  1604.  
  1605. return 0 ;
  1606.  
  1607. }
  1608.  
  1609.  
  1610. ****EOF****
Add Comment
Please, Sign In to add comment