Guest User

Untitled

a guest
Nov 9th, 2016
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.92 KB | None | 0 0
  1. uDP ECHO:
  2.  
  3. STEP 1: Start
  4. STEP 2: Declare the variables for the socket
  5. STEP 3: Specify the family, protocol, IP address and port number
  6. STEP 4: Create a socket using socket() function
  7. STEP 5: Bind the IP address and Port number
  8. STEP 6: Listen and accept the client’s request for the connection
  9. STEP 7: Read and Display the client’s message
  10. STEP 8: Stop
  11. CLIENT:
  12. STEP 1: Start
  13. STEP 2: Declare the variables for the socket
  14. STEP 3: Specify the family, protocol, IP address and port number
  15. STEP 4: Create a socket using socket() function
  16. STEP 5: Call the connect() function
  17. STEP 6: Read the input message
  18. STEP 7: Send the input message to the server
  19. STEP 8: Display the server’s echo
  20. STEP 9: Close the socket
  21. STEP 10: Stop
  22.  
  23. SOURCE CODE:
  24. SERVER:
  25. #include<sys/types.h>
  26. #include<sys/socket.h>
  27. #include<netinet/in.h>
  28. #include<unistd.h>
  29. #include<netdb.h>
  30. #include<stdio.h>
  31. #include<string.h>
  32. #include<arpa/inet.h>
  33. #define MAXLINE 1024
  34. int main(int argc,char **argv)
  35. {
  36. int sockfd;
  37. int n;
  38. socklen_t len;
  39. char msg[1024];
  40. struct sockaddr_in servaddr,cliaddr;
  41. sockfd=socket(AF_INET,SOCK_DGRAM,0);
  42. bzero(&servaddr,sizeof(servaddr));
  43. servaddr.sin_family=AF_INET;
  44. servaddr.sin_addr.s_addr=INADDR_ANY;
  45. servaddr.sin_port=htons(5035);
  46. printf("\n\n Binded");
  47. bind(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
  48. printf("\n\n Listening...");
  49. for(;;)
  50. {
  51. printf("\n ");
  52. len=sizeof(cliaddr);
  53. n=recvfrom(sockfd,msg,MAXLINE,0,(struct sockaddr*)&cliaddr,&len);
  54. printf("\n Client's Message : %s\n",msg);
  55. if(n<6)
  56. perror("send error");
  57. sendto(sockfd,msg,n,0,(struct sockaddr*)&cliaddr,len);
  58. }
  59. return 0;
  60. }
  61.  
  62. CLIENT:
  63. #include<sys/types.h>
  64. #include<sys/socket.h>
  65. #include<netinet/in.h>
  66. #include<string.h>
  67. #include<arpa/inet.h>
  68. #include<string.h>
  69. #include<arpa/inet.h>
  70. #include<stdio.h>
  71. #define MAXLINE 1024
  72. int main(int argc,char* argv[])
  73. {
  74. int sockfd;
  75. int n;
  76. socklen_t len;
  77. char sendline[1024],recvline[1024];
  78. struct sockaddr_in servaddr;
  79. strcpy(sendline,"");
  80. printf("\n Enter the message : ");
  81. scanf("%s",sendline);
  82. sockfd=socket(AF_INET,SOCK_DGRAM,0);
  83. bzero(&servaddr,sizeof(servaddr));
  84. servaddr.sin_family=AF_INET;
  85. servaddr.sin_addr.s_addr=inet_addr("127.0.0.1");
  86. servaddr.sin_port=htons(5035);
  87. connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
  88. len=sizeof(servaddr);
  89. sendto(sockfd,sendline,MAXLINE,0,(struct sockaddr*)&servaddr,len);
  90. n=recvfrom(sockfd,recvline,MAXLINE,0,NULL,NULL);
  91. recvline[n]=0;
  92. printf("\n Server's Echo : %s\n\n",recvline);
  93. return 0;
  94. }
  95.  
  96. UDP message:
  97. Server:
  98.  
  99. #include<sys/socket.h>
  100. #include<arpa/inet.h>
  101. #include<stdio.h>
  102. #include<unistd.h>
  103. #include<fcntl.h>
  104. #include<sys/types.h>
  105. #include<string.h>
  106.  
  107.  
  108.  
  109.  
  110. int main()
  111. {
  112.  
  113. char buff[2000];
  114. char file_buffer[2000];
  115. int sd,connfd,len;
  116.  
  117. struct sockaddr_in servaddr,cliaddr;
  118.  
  119. sd = socket(AF_INET, SOCK_DGRAM, 0);
  120.  
  121. if(sd==-1)
  122. {
  123. printf(" socket not created in server\n");
  124. exit(0);
  125. }
  126. else
  127. {
  128. printf("socket created in server\n");
  129. }
  130.  
  131. bzero(&servaddr, sizeof(servaddr));
  132.  
  133. servaddr.sin_family = AF_INET;
  134. servaddr.sin_addr.s_addr = INADDR_ANY;
  135. servaddr.sin_port = htons(7802);
  136.  
  137. if ( bind(sd, (struct sockaddr *)&servaddr, sizeof(servaddr)) != 0 )
  138. printf("Not binded\n");
  139. else
  140. printf("Binded\n");
  141.  
  142.  
  143.  
  144. len=sizeof(cliaddr);
  145.  
  146. recvfrom(sd,buff,1024,0,
  147. (struct sockaddr *)&cliaddr, &len);
  148.  
  149. printf("%s\n",buff);
  150. /* */
  151. FILE *fp;
  152. fp=fopen(buff,"r");
  153. if(fp==NULL)
  154. {
  155. printf("file does not exist\n");
  156. }
  157.  
  158. fseek(fp,0,SEEK_END);
  159. size_t file_size=ftell(fp);
  160. fseek(fp,0,SEEK_SET);
  161. if(fread(file_buffer,file_size,1,fp)<=0)
  162. {
  163. printf("unable to copy file into buffer\n");
  164. exit(1);
  165. }
  166. if(sendto(sd,file_buffer,strlen(file_buffer),0, (struct sockaddr *)&cliaddr, &len)<0) {
  167. printf("error in sending the file\n");
  168. exit(1);
  169. }
  170. bzero(file_buffer,sizeof(file_buffer));
  171.  
  172.  
  173. /* */
  174. close(sd);
  175.  
  176. return(0);
  177. }
  178.  
  179. Client:
  180. #include <stdio.h>
  181. #include <errno.h>
  182. #include <sys/socket.h>
  183. #include <resolv.h>
  184. #include<netinet/in.h>
  185. #include<sys/types.h>
  186.  
  187.  
  188.  
  189. int main()
  190. {
  191. char buff[2000];
  192. int sockfd,connfd,len;
  193.  
  194. struct sockaddr_in servaddr,cliaddr;
  195.  
  196. // create socket in client side
  197. sockfd = socket(AF_INET, SOCK_DGRAM, 0);
  198.  
  199. if(sockfd==-1)
  200. {
  201. printf(" socket not created in client\n");
  202. exit(0);
  203. }
  204. else
  205. {
  206. printf("socket created in client\n");
  207. }
  208.  
  209.  
  210. bzero(&servaddr, sizeof(servaddr));
  211.  
  212. servaddr.sin_family = AF_INET;
  213. servaddr.sin_addr.s_addr = INADDR_ANY; // ANY address or use specific address
  214. servaddr.sin_port = htons(7802); // Port address
  215.  
  216.  
  217. printf("Type ur UDP client message\n");
  218. scanf("%s",buff);
  219.  
  220. // send msg to server
  221.  
  222. sendto(sockfd, buff, strlen(buff), 0,
  223. (struct sockaddr *)&servaddr, sizeof(struct sockaddr));
  224. char file_buffer[2000];
  225.  
  226. if (recvfrom(sockfd,file_buffer,2000,0, (struct sockaddr *)&servaddr, sizeof(struct sockaddr))<0)
  227. {
  228. printf("error in recieving the file\n");
  229. exit(1);
  230. }
  231.  
  232. char new_file[]="copied";
  233. strcat(new_file,buff);
  234. FILE *fp;
  235. fp=fopen(new_file,"w+");
  236. if(fwrite(file_buffer,1,sizeof(file_buffer),fp)<0)
  237. {
  238. printf("error writting file\n");
  239. exit(1);
  240. }
  241.  
  242.  
  243. //close client side connection
  244. close(sockfd);
  245.  
  246. return(0);
  247. }
  248.  
  249.  
  250. tcp/ip chat:
  251.  
  252. SERVER
  253. #include<stdio.h>
  254. #include<netinet/in.h>
  255. #include<sys/types.h>
  256. #include<sys/socket.h>
  257. #include<netdb.h>
  258. #include<stdlib.h>
  259. #include<string.h>
  260. #define MAX 80
  261. #define PORT 43454
  262. #define SA struct sockaddr
  263. void func(int sockfd)
  264. {
  265. char buff[MAX];
  266. int n;
  267. for(;;)
  268. {
  269. bzero(buff,MAX);
  270. read(sockfd,buff,sizeof(buff));
  271. printf("From client: %s\t To client : ",buff);
  272. bzero(buff,MAX);
  273. n=0;
  274. while((buff[n++]=getchar())!='\n');
  275. write(sockfd,buff,sizeof(buff));
  276. if(strncmp("exit",buff,4)==0)
  277. {
  278. printf("Server Exit...\n");
  279. break;
  280. }
  281. }
  282. }
  283. int main()
  284. {
  285. int sockfd,connfd,len;
  286. struct sockaddr_in servaddr,cli;
  287. sockfd=socket(AF_INET,SOCK_STREAM,0);
  288. if(sockfd==-1)
  289. {
  290. printf("socket creation failed...\n");
  291. exit(0);
  292. }
  293. else
  294. printf("Socket successfully created..\n");
  295. bzero(&servaddr,sizeof(servaddr));
  296. servaddr.sin_family=AF_INET;
  297. servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
  298. servaddr.sin_port=htons(PORT);
  299. if((bind(sockfd,(SA*)&servaddr, sizeof(servaddr)))!=0)
  300. {
  301. printf("socket bind failed...\n");
  302. exit(0);
  303. }
  304. else
  305. printf("Socket successfully binded..\n");
  306. if((listen(sockfd,5))!=0)
  307. {
  308. printf("Listen failed...\n");
  309. exit(0);
  310. }
  311. else
  312. printf("Server listening..\n");
  313. len=sizeof(cli);
  314. connfd=accept(sockfd,(SA *)&cli,&len);
  315. if(connfd<0)
  316. {
  317. printf("server acccept failed...\n");
  318. exit(0);
  319. }
  320. else
  321. printf("server acccept the client...\n");
  322. func(connfd);
  323. close(sockfd);
  324. }
  325.  
  326. CLIENT
  327. #include<stdio.h>
  328. #include<netinet/in.h>
  329. #include<sys/types.h>
  330. #include<sys/socket.h>
  331. #include<netdb.h>
  332. #include<string.h>
  333. #include<stdlib.h>
  334. #define MAX 80
  335. #define PORT 43454
  336. #define SA struct sockaddr
  337. void func(int sockfd)
  338. {
  339. char buff[MAX];
  340. int n;
  341. for(;;)
  342. {
  343. bzero(buff,sizeof(buff));
  344. printf("Enter the string : ");
  345. n=0;
  346. while((buff[n++]=getchar())!='\n');
  347. write(sockfd,buff,sizeof(buff));
  348. bzero(buff,sizeof(buff));
  349. read(sockfd,buff,sizeof(buff));
  350. printf("From Server : %s",buff);
  351. if((strncmp(buff,"exit",4))==0)
  352. {
  353. printf("Client Exit...\n");
  354. break;
  355. }
  356. }
  357. }
  358.  
  359. int main()
  360. {
  361. int sockfd,connfd;
  362. struct sockaddr_in servaddr,cli;
  363. sockfd=socket(AF_INET,SOCK_STREAM,0);
  364. if(sockfd==-1)
  365. {
  366. printf("socket creation failed...\n");
  367. exit(0);
  368. }
  369. else
  370. printf("Socket successfully created..\n");
  371. bzero(&servaddr,sizeof(servaddr));
  372. servaddr.sin_family=AF_INET;
  373. servaddr.sin_addr.s_addr=inet_addr("127.0.0.1");
  374. servaddr.sin_port=htons(PORT);
  375. if(connect(sockfd,(SA *)&servaddr,sizeof(servaddr))!=0)
  376. {
  377. printf("connection with the server failed...\n");
  378. exit(0);
  379. }
  380. else
  381. printf("connected to the server..\n");
  382. func(sockfd);
  383. close(sockfd);
  384. }
  385.  
  386.  
  387. tcp file transfer:
  388. filetransferserver.c
  389. #include<stdio.h>
  390. #include<sys/types.h>
  391. #include<string.h>
  392. #include<stdlib.h>
  393. #include<sys/socket.h>
  394. #include<arpa/inet.h>
  395. #include<unistd.h>
  396. #define SA struct sockaddr
  397. #define LISTENQ 5
  398. int main(int argc,char**argv)
  399. {
  400. int fd,sockfd,listenfd,connfd;
  401. pid_t childpid;
  402. socklen_t client;
  403. struct sockaddr_in servaddr,cliaddr;
  404. listenfd=socket(AF_INET,SOCK_STREAM,0);
  405. bzero(&servaddr,sizeof(servaddr));
  406. servaddr.sin_family=AF_INET;
  407. servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
  408. servaddr.sin_port=htons(atoi(argv[1]));
  409. bind(listenfd,(SA*)&servaddr,sizeof(servaddr));
  410. listen(listenfd,LISTENQ);
  411. client=sizeof(cliaddr);
  412. connfd=accept(listenfd,(SA*)&cliaddr,&client);
  413. char buffer[100];
  414. FILE *fp;
  415. read(connfd,buffer,100);
  416. fp=fopen("add1.txt","w");
  417. fprintf(fp,"%s",buffer);
  418. printf("the file was received successfully");
  419. printf("the new file created is add1.txt");
  420. }
  421.  
  422. iletransferclient.c
  423. #include<arpa/inet.h>
  424. #include<unistd.h>
  425. #define SA struct sockaddr
  426. int main(int argc,char**argv)
  427. {
  428. int sockfd;
  429. char fname[25];
  430. int len;
  431. struct sockaddr_in servaddr,cliaddr;
  432. sockfd=socket(AF_INET,SOCK_STREAM,0);
  433. bzero(&servaddr,sizeof(servaddr));
  434. servaddr.sin_family=AF_INET;
  435. servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
  436. servaddr.sin_port=htons(atoi(argv[1]));
  437. inet_pton(AF_INET,argv[1],&servaddr.sin_addr);
  438. connect(sockfd,(SA*)&servaddr,sizeof(servaddr));
  439. char buffer[100];
  440. FILE *f;
  441. f=fopen("add.txt","r");
  442. fscanf(f,"%s",buffer);
  443. write(sockfd,buffer,100);
  444. printf("the file was sent successfully");
  445. }
  446.  
  447. tcp/ip username pass
  448. Server :
  449. #include <stdio.h>
  450. #include <stdlib.h>
  451. #include <unistd.h>
  452. #include <errno.h>
  453. #include <string.h>
  454. #include <netdb.h>
  455. #include <sys/types.h>
  456. #include <netinet/in.h>
  457. #include <sys/socket.h>
  458. #include <arpa/inet.h>
  459. int main(int argc, char *argv[])
  460. {
  461. int sock_des,port,n1,n2,s1,s2;
  462. char null_character;
  463. char buffer1[100],buffer2[100],buffer3[100],buffer4[100];
  464. int length,new_des;
  465. struct sockaddr_in server_addr,client_addr;
  466. bzero(buffer3,sizeof(buffer3));
  467. printf("\n Input Authentic Username :\n");
  468. scanf("%s",buffer3);
  469. bzero(buffer4,sizeof(buffer4));
  470. printf("\n Input Authentic Password :\n");
  471. scanf("%s",buffer4);
  472. if(argc!=2)
  473. {
  474. printf("Usage: ./server port\n");
  475. exit(1);
  476. }
  477. port= atoi(argv[1]);
  478. if((sock_des=socket(AF_INET,SOCK_STREAM,0))==-1)
  479. {
  480. perror("socket");
  481. exit(1);
  482. }
  483.  
  484. server_addr.sin_family = AF_INET;
  485. server_addr.sin_port = htons(port);
  486. server_addr.sin_addr.s_addr= htonl(INADDR_ANY);
  487. if (bind(sock_des,(const struct sockaddr *)&server_addr,sizeof(struct sockaddr))==-1)
  488. {
  489. perror("bind");
  490. exit(1);
  491. }
  492. if( listen(sock_des,5)==-1)
  493. {
  494. perror("listen");
  495. exit(1);
  496. }
  497. printf("Server is listening at port %d \n", port);
  498. while(1)
  499. {
  500. if((new_des=accept(sock_des,(struct sockaddr *)&client_addr,&length))==-1)
  501. {
  502. perror("accept");
  503. exit(1);
  504. }
  505. bzero(buffer1,sizeof(buffer1));
  506. n1=read(new_des,buffer1,sizeof(buffer1));
  507. buffer1[n1]=null_character;
  508. if((s1=strcmp(buffer1,buffer3))==0)
  509. {
  510. write(new_des,"Username Match!Enter Password",30);
  511. printf("Username Match !!!\n");
  512. bzero(buffer2,sizeof(buffer2));
  513. n2=read(new_des,buffer2,sizeof(buffer2));
  514. buffer2[n2]=null_character;
  515. if((s2=strcmp(buffer2,buffer4))==0)
  516. {
  517. write(new_des,"Password Match",15);
  518. printf("Password Match !!!\n");
  519. }
  520. else
  521. {
  522. write(new_des,"Password NOT Match",19);
  523. printf("Password NOT Match !!!\n");
  524. }
  525. }
  526. else
  527. {
  528. write(new_des,"Username Not Match",19);
  529. printf("Username Not Match !!!\n");
  530. }
  531. close(new_des);
  532. }
  533. }
  534.  
  535. Client :-
  536.  
  537. #include <stdio.h>
  538. #include <stdlib.h>
  539. #include <unistd.h>
  540. #include <errno.h>
  541. #include <string.h>
  542. #include <netdb.h>
  543. #include <sys/types.h>
  544. #include <netinet/in.h>
  545. #include <sys/socket.h>
  546. #include <arpa/inet.h>
  547. int main(int argc,char *argv[])
  548. {
  549. int sock_des,port,n;
  550. char null_character;
  551. struct hostent *host;
  552. char buffer1[100],buffer2[100],buffer3[100],buffer4[100];
  553. struct sockaddr_in server_addr;
  554. if(argc!=3)
  555. {
  556. printf("Usage: ./client hostname port\n");
  557. exit(1);
  558. }
  559. if((host=gethostbyname(argv[1]))==NULL)
  560. {
  561. printf("Unknown Host\n");
  562. exit(1);
  563. }
  564. port = atoi(argv[2]);
  565. if((sock_des=socket(AF_INET,SOCK_STREAM,0))==-1)
  566. {
  567. perror("socket");
  568. exit(1);
  569. }
  570. server_addr.sin_family = AF_INET;
  571. server_addr.sin_port = htons(port);
  572. server_addr.sin_addr = *((struct in_addr *)host->h_addr);
  573. if(connect(sock_des,(struct sockaddr *)&server_addr,sizeof(struct sockaddr))==-1)
  574. {
  575. perror("connect");
  576. exit(1);
  577. }
  578. bzero(buffer1,sizeof(buffer1));
  579. printf("Enter the Username :\n");
  580. scanf("%s",buffer1);
  581. write(sock_des,buffer1,sizeof(buffer1));
  582. bzero(buffer4,sizeof(buffer4));
  583.  
  584. n=read(sock_des,buffer4,sizeof(buffer4));
  585. buffer4[n]= null_character;
  586. printf("Server Sent : %s\n", buffer4);
  587. bzero(buffer2,sizeof(buffer2));
  588. printf("Enter the Password :\n");
  589. scanf("%s",buffer2);
  590. write(sock_des,buffer2,sizeof(buffer2));
  591. bzero(buffer3,sizeof(buffer3));
  592. n=read(sock_des,buffer3,sizeof(buffer3));
  593. buffer3[n]=null_character;
  594. printf("Server Sent : %s\n", buffer3);
  595. close(sock_des);
  596. }
  597.  
  598.  
  599.  
  600. for (i=0;i<7;i++) {
  601. printf("%d ",data[i]);
  602. }
  603. printf("\nenter the received data bits one by one: ");
  604. for (i=0;i<7;i++) {
  605. scanf("%d",&rec[i]);
  606. }
  607. c1=rec[6]^rec[4]^rec[2]^rec[0];
  608. c2=rec[5]^rec[4]^rec[1]^rec[0];
  609. c3=rec[3]^rec[2]^rec[1]^rec[0];
  610. c=c3*4+c2*2+c1 ;
  611. if(c==0) {
  612. printf("\ncongratulations there is no error: ");
  613. } else {
  614. printf("\nerron on the postion: %d\nthe correct message is \n",c);
  615. if(rec[7-c]==0)
  616. rec[7-c]=1; else
  617. rec[7-c]=0;
  618. for (i=0;i<7;i++) {
  619. printf("%d ",rec[i]);
  620. }
  621. }
  622. getch();
  623. }
  624.  
  625.  
  626.  
  627. 6.sliding window protocol-go back n arq
  628. #include<iostream>
  629. #include<math.h>
  630. using namespace std;
  631. int main()
  632. {
  633. int m,ws,check=1,count=0;
  634. cout<<"enter the value of m"<<endl; //what is m???
  635. cin>>m;
  636. //calculating window size
  637. ws=pow(2,m)-1;
  638. cout<<"ws= "<<ws<<endl;
  639. int sn=0,sf=0,rn=0,ack,time;
  640. cout<<"enter time out value "<<endl;
  641. cin>>time;
  642. while(check)
  643. {
  644. //cout<<sn<<" "<<ws<<endl;
  645. if(sn == ws)
  646. {
  647. cout<<"window full cannot enter anymore data"<<endl;
  648. break;
  649. }
  650. cout<<"press 1 to transmit data else press 0"<<endl;
  651. cin>>check;
  652. sn++;
  653. cout<<"press 1 if acknowledgement is received else press 0"<<endl;
  654. cin>>ack;
  655. if(ack)
  656. {
  657. rn++;
  658. sf++;
  659. time=3;
  660. }
  661. else
  662. {
  663. time--;
  664. if(time==0)
  665. {
  666. cout<<"time out transmit again from frame "<<sf<<endl;
  667. sn=sf;
  668. }
  669. }
  670. cout<<"data frames sent= "<<sn<<endl;
  671. cout<<"data frames received= "<<rn<<endl;
  672. }
  673. }
  674.  
  675.  
  676.  
  677.  
  678. 7.client chat app using tcp ip
  679. chatappserver.c
  680. #include<sys/socket.h>
  681. #include<sys/types.h>
  682. #include<stdio.h>
  683. #include<arpa/inet.h>
  684. #include<netinet/in.h>
  685. #include<string.h>
  686. #include<unistd.h>
  687. #define SER_PORT 1200
  688. int main()
  689. {
  690. int a,sersock,newsock,n;
  691. char str[25],str2[25];
  692. struct sockaddr_in seraddr;
  693. struct sockaddr_in cliinfo;
  694. socklen_t csize=sizeof(cliinfo);
  695. seraddr.sin_family=AF_INET;
  696. seraddr.sin_port=htons(SER_PORT);
  697. seraddr.sin_addr.s_addr=htonl(INADDR_ANY);
  698. if((sersock=socket(AF_INET,SOCK_STREAM,0))<0)
  699. {
  700. error("\n socket");
  701. exit(0);
  702. }
  703. if(bind(sersock,(struct sockaddr *)&seraddr,sizeof(seraddr))<0)
  704. {
  705. error("\nBIND");
  706. exit(0);
  707. }
  708. if(listen(sersock,1)<0)
  709. {
  710. error("\n LISTEN");
  711. }
  712. if((newsock=accept(sersock,(struct sockaddr *)&cliinfo,&csize))<0)
  713. {
  714. error("\n ACCEPT");
  715. exit(0);
  716. }
  717. else
  718. printf("\n now connected to %s\n",inet_ntoa(cliinfo.sin_addr));
  719. read(newsock,str,sizeof(str));
  720. do
  721. {
  722. printf("\n client msg:%s",str);
  723. printf("\n server msg:");
  724. scanf("%s",str2);
  725. write(newsock,str2,sizeof(str2));
  726. listen(newsock,1);
  727. read(newsock,str,sizeof(str));
  728. n=strcmp(str,"BYE");
  729. a=strcmp(str2,"BYE");
  730.  
  731. }
  732. while(n!=0||a!=0);
  733. close(newsock);
  734. close(sersock);
  735. return 0;
  736. }
Add Comment
Please, Sign In to add comment