Guest User

cycle2

a guest
Oct 17th, 2016
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.49 KB | None | 0 0
  1. Activity 8
  2. Q8. Develop a TCP Client/Server application for transferring a text file from client to server.
  3. SERVER CODE :-
  4. #include<stdio.h>
  5. #include<stdlib.h>
  6. #include<unistd.h>
  7. #include<errno.h>
  8. #include<string.h>
  9. #include<netdb.h>
  10. #include<sys/types.h>
  11. #include<netinet/in.h>
  12. #include<sys/socket.h>
  13. int main(int argc, char *argv[])
  14. {
  15. int sock_des, port,n,length,new_des,r;
  16. FILE *fp;
  17. char buffer[512],s[100],ch;
  18. struct sockaddr_in server_addr, client_addr;
  19. if (argc != 2)
  20. {
  21. printf("Usage: ./server port\n");
  22. exit(1);
  23. port= atoi(argv[1]);
  24. if ((sock_des = socket(AF_INET, SOCK_STREAM, 0)) == -1)
  25. {
  26. perror("socket");
  27. exit(1);
  28. }
  29. server_addr.sin_family = AF_INET;
  30. server_addr.sin_port = htons(port);
  31. server_addr.sin_addr.s_addr= htonl(INADDR_ANY);
  32. if (bind(sock_des,(const struct sockaddr *)&server_addr, sizeof(struct sockaddr)) == -1)
  33. {
  34. perror("bind");
  35. exit(1);
  36. }
  37. if(listen(sock_des,5)==-1)
  38. {
  39. perror("listen");
  40. exit(1);
  41. }
  42. printf("Server is listening at port %d \n", port );
  43. length=sizeof(struct sockaddr);
  44. if((new_des= accept(sock_des, (struct sockaddr *)&client_addr,&length)) ==-1 )
  45. {
  46. perror("accept");
  47. exit(1);
  48. }
  49. fp=fopen("s1.txt","w");
  50. while(1)
  51. {
  52. r=read(new_des,&ch,1);
  53. if(r==1)
  54. fputc(ch,fp);
  55. else
  56. break;
  57. }
  58. fclose(fp);
  59. printf("Success");
  60. close(new_des);
  61. return 0;
  62. }
  63. OUTPUT :-
  64. CLIENT CODE :-
  65. #include<stdio.h>
  66. #include<stdlib.h>
  67. #include<unistd.h>
  68. #include<errno.h>
  69. #include<string.h>
  70. #include<netdb.h>
  71. #include<sys/types.h>
  72. #include<netinet/in.h>
  73. #include<sys/socket.h>
  74. int main(int argc, char *argv[])
  75. {
  76. int sock_des,port,n;
  77. char ch;
  78. FILE *fp;
  79. struct sockaddr_in server_addr;
  80. struct hostent *host;
  81. if (argc != 3)
  82. {
  83. printf("Usage: ./client hostname port\n");
  84. exit(1);
  85. }
  86. if ((host=gethostbyname(argv[1])) == NULL)
  87. {
  88. printf("Unknown Host\n");
  89. exit(1);
  90. }
  91. port = atoi(argv[2]);
  92. if ((sock_des = socket(AF_INET, SOCK_STREAM, 0)) == -1)
  93. {
  94. perror("socket");
  95. exit(1);
  96. }
  97. server_addr.sin_family = AF_INET;
  98. server_addr.sin_port = htons(port);
  99. server_addr.sin_addr = *((struct in_addr *)host->h_addr);
  100. if(connect(sock_des,(struct sockaddr *)&server_addr, sizeof(struct sockaddr)) == -1)
  101. {
  102. perror("connect");
  103. exit(1);
  104. }
  105. fp=fopen("s2.txt","r");
  106. while((ch=fgetc(fp))!=EOF)
  107. {
  108. write(sock_des,&ch,1);
  109. }
  110. fclose(fp);
  111. close(sock_des);
  112. return 0;
  113. }
  114.  
  115.  
  116.  
  117.  
  118. ACTIVITY 9
  119. Question :
  120. Implement a TCP based server program to authenticate the client’s
  121. Username and Password. The authenticity of the client must be sent as
  122. the reply mess age to the client and display the
  123. same on the standard output.
  124. Code :-
  125.  
  126. Server :
  127.  
  128. #include <stdio.h>
  129. #include <stdlib.h>
  130. #include <unistd.h>
  131. #include <errno.h>
  132. #include <string.h>
  133. #include <netdb.h>
  134. #include <sys/types.h>
  135. #include <netinet/in.h>
  136. #include <sys/socket.h>
  137. #include <arpa/inet.h>
  138. int main(int argc, char *argv[])
  139. {
  140. int sock_des,port,n1,n2,s1,s2;
  141. char null_character;
  142. char buffer1[100],buffer2[100],buffer3[100],buffer4[100];
  143. int length,new_des;
  144. struct sockaddr_in server_addr,client_addr;
  145. bzero(buffer3,sizeof(buffer3));
  146. printf("\n Input Authentic Username :\n");
  147. scanf("%s",buffer3);
  148. bzero(buffer4,sizeof(buffer4));
  149. printf("\n Input Authentic Password :\n");
  150. scanf("%s",buffer4);
  151. if(argc!=2)
  152. {
  153. printf("Usage: ./server port\n");
  154. exit(1);
  155. }
  156. port= atoi(argv[1]);
  157. if((sock_des=socket(AF_INET,SOCK_STREAM,0))==-1)
  158. {
  159. perror("socket");
  160. exit(1);
  161. }
  162. server_addr.sin_family = AF_INET;
  163. server_addr.sin_port = htons(port);
  164. server_addr.sin_addr.s_addr= htonl(INADDR_ANY);
  165. if (bind(sock_des,(const struct sockaddr *)&server_addr,sizeof(struct sockaddr))==-1)
  166. {
  167. perror("bind");
  168. exit(1);
  169. }
  170. if( listen(sock_des,5)==-1)
  171. {
  172. perror("listen");
  173. exit(1);
  174. }
  175. printf("Server is listening at port %d \n", port);
  176. while(1)
  177. {
  178. if((new_des=accept(sock_des,(struct sockaddr *)&client_addr,&length))==-1)
  179. {
  180. perror("accept");
  181. exit(1);
  182. }
  183. bzero(buffer1,sizeof(buffer1));
  184. n1=read(new_des,buffer1,sizeof(buffer1));
  185. buffer1[n1]=null_character;
  186. if((s1=strcmp(buffer1,buffer3))==0)
  187. {
  188. write(new_des,"Username Match!Enter Password",30);
  189. printf("Username Match !!!\n");
  190. bzero(buffer2,sizeof(buffer2));
  191. n2=read(new_des,buffer2,sizeof(buffer2));
  192. buffer2[n2]=null_character;
  193. if((s2=strcmp(buffer2,buffer4))==0)
  194. {
  195. write(new_des,"Password Match",15);
  196. printf("Password Match !!!\n");
  197. }
  198. else
  199. {
  200. write(new_des,"Password NOT Match",19);
  201. printf("Password NOT Match !!!\n");
  202. }
  203. }
  204. else
  205. {
  206. write(new_des,"Username Not Match",19);
  207. printf("Username Not Match !!!\n");
  208. }
  209. close(new_des);
  210. }
  211. }
  212. Client :-
  213.  
  214. #include <stdio.h>
  215. #include <stdlib.h>
  216. #include <unistd.h>
  217. #include <errno.h>
  218. #include <string.h>
  219. #include <netdb.h>
  220. #include <sys/types.h>
  221. #include <netinet/in.h>
  222. #include <sys/socket.h>
  223. #include <arpa/inet.h>
  224. int main(int argc,char *argv[])
  225. {
  226. int sock_des,port,n;
  227. char null_character;
  228. struct hostent *host;
  229. char buffer1[100],buffer2[100],buffer3[100],buffer4[100];
  230. struct sockaddr_in server_addr;
  231. if(argc!=3)
  232. {
  233. printf("Usage: ./client hostname port\n");
  234. exit(1);
  235. }
  236. if((host=gethostbyname(argv[1]))==NULL)
  237. {
  238. printf("Unknown Host\n");
  239. exit(1);
  240. }
  241. port = atoi(argv[2]);
  242. if((sock_des=socket(AF_INET,SOCK_STREAM,0))==-1)
  243. {
  244. perror("socket");
  245. exit(1);
  246. }
  247. server_addr.sin_family = AF_INET;
  248. server_addr.sin_port = htons(port);
  249. server_addr.sin_addr = *((struct in_addr *)host->h_addr);
  250. if(connect(sock_des,(struct sockaddr *)&server_addr,sizeof(struct sockaddr))==-1)
  251. {
  252. perror("connect");
  253. exit(1);
  254. }
  255. bzero(buffer1,sizeof(buffer1));
  256. printf("Enter the Username :\n");
  257. scanf("%s",buffer1);
  258. write(sock_des,buffer1,sizeof(buffer1));
  259. bzero(buffer4,sizeof(buffer4));
  260. n=read(sock_des,buffer4,sizeof(buffer4));
  261. buffer4[n]= null_character;
  262. printf("Server Sent : %s\n", buffer4);
  263. bzero(buffer2,sizeof(buffer2));
  264. printf("Enter the Password :\n");
  265. scanf("%s",buffer2);
  266. write(sock_des,buffer2,sizeof(buffer2));
  267. bzero(buffer3,sizeof(buffer3));
  268. n=read(sock_des,buffer3,sizeof(buffer3));
  269. buffer3[n]=null_character;
  270. printf("Server Sent : %s\n", buffer3);
  271. close(sock_des);
  272. }
  273.  
  274.  
  275.  
  276.  
  277. Chat App-client
  278.  
  279.  
  280. #include<stdio.h>
  281. #include<stdlib.h>
  282. #include<string.h>
  283. #include<sys/socket.h>
  284. #include<netdb.h>
  285. #include<arpa/inet.h>
  286.  
  287. void error(char *msg)
  288. {
  289. perror(msg);
  290. exit(1);
  291. }
  292.  
  293. int main(int argc,char* argv[])
  294. {
  295. int sockfd,portno;
  296. char recvbuffer[256],sendbuffer[256];
  297. struct sockaddr_in ser_addr;
  298. struct hostent* server;
  299. int i;
  300.  
  301. if(argc<3)
  302. error("./client hostname portno");
  303.  
  304. server=gethostbyname(argv[1]);
  305. portno=atoi(argv[2]);
  306.  
  307. bzero((char*)&ser_addr,sizeof(ser_addr));
  308. ser_addr.sin_family=AF_INET;
  309. bcopy((char*)server->h_addr,(char*)&ser_addr.sin_addr.s_addr,server->h_length);
  310. ser_addr.sin_port=htons(portno);
  311.  
  312. sockfd=socket(AF_INET,SOCK_STREAM,0);
  313. if(sockfd==-1)
  314. error("error in socket descriptor");
  315. printf("\nsocket created\n");
  316.  
  317. if(connect(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)
  318. error("error in connect");
  319. printf("\nconnect successfully\n");
  320.  
  321. bzero(recvbuffer,sizeof(recvbuffer));
  322. bzero(sendbuffer,sizeof(sendbuffer));
  323.  
  324. i=fork();
  325. if(i==0)
  326. {
  327. printf("\nfork reading\n");
  328. while(1)
  329. {
  330. if(read(sockfd,recvbuffer,sizeof(recvbuffer))<0)
  331. error("error in reading");
  332. printf("\nserver:%s\n",recvbuffer);
  333. bzero(recvbuffer,sizeof(recvbuffer));
  334. }
  335. }
  336. else
  337. {
  338. printf("\n fork writing\n");
  339. while(1)
  340. {
  341. scanf("%s",sendbuffer);
  342. if(write(sockfd,sendbuffer,sizeof(sendbuffer))<0)
  343. error("error in writing");
  344. }
  345. }
  346. close(sockfd);
  347. return 0;
  348. }
  349.  
  350.  
  351.  
  352.  
  353. Chat App-Server
  354.  
  355.  
  356.  
  357. #include<stdio.h>
  358. #include<stdlib.h>
  359. #include<string.h>
  360. #include<sys/socket.h>
  361. #include<netdb.h>
  362. #include<arpa/inet.h>
  363.  
  364. void error(char *msg)
  365. {
  366. perror(msg);
  367. exit(1);
  368. }
  369.  
  370. int main(int argc,char* argv[])
  371. {
  372. int sockfd,newsockfd,portno;
  373. char recvbuffer[256],sendbuffer[256];
  374. struct sockaddr_in ser_addr,cli_addr;
  375. int i;
  376.  
  377. if(argc<2)
  378. error("./server portno");
  379.  
  380. portno=atoi(argv[1]);
  381.  
  382. bzero((char*)&ser_addr,sizeof(ser_addr));
  383. ser_addr.sin_family=AF_INET;
  384. ser_addr.sin_addr.s_addr=INADDR_ANY;
  385. ser_addr.sin_port=htons(portno);
  386.  
  387. sockfd=socket(AF_INET,SOCK_STREAM,0);
  388. if(sockfd==-1)
  389. error("error in socket descriptor");
  390. printf("\nsocket created\n");
  391.  
  392. if(bind(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)
  393. error("error in binding");
  394. printf("\nbinding successful\n");
  395.  
  396. if(listen(sockfd,5)==-1)
  397. error("error in listening");
  398. printf("\nlisten successfully\n");
  399.  
  400. bzero(recvbuffer,sizeof(recvbuffer));
  401. bzero(sendbuffer,sizeof(sendbuffer));
  402.  
  403.  
  404. newsockfd=accept(sockfd,(struct sockaddr*)NULL,NULL);
  405.  
  406. i=fork();
  407. if(i==0)
  408. {
  409. printf("\nfork reading\n");
  410. while(1)
  411. {
  412. if(read(newsockfd,recvbuffer,sizeof(recvbuffer))<0)
  413. error("error in reading");
  414. printf("\nclient:%s\n",recvbuffer);
  415. bzero(recvbuffer,sizeof(recvbuffer));
  416. }
  417. }
  418. else
  419. {
  420. printf("\n fork writing\n");
  421. while(1)
  422. {
  423. scanf("%s",sendbuffer);
  424. if(write(newsockfd,sendbuffer,sizeof(sendbuffer))<0)
  425. error("error in writing");
  426. }
  427.  
  428. }
  429. close(newsockfd);
  430. return 0;
  431. }
  432.  
  433.  
  434. Message Transfer Client
  435.  
  436.  
  437. #include<stdio.h>
  438. #include<stdlib.h>
  439. #include<string.h>
  440. #include<sys/socket.h>
  441. #include<netdb.h>
  442. #include<arpa/inet.h>
  443.  
  444. void error(char *msg)
  445. {
  446. perror(msg);
  447. exit(1);
  448. }
  449.  
  450. int main(int argc,char* argv[])
  451. {
  452. int sockfd,portno;
  453. char buffer[256];
  454. struct sockaddr_in ser_addr;
  455. struct hostent* server;
  456.  
  457. if(argc<3)
  458. error("./client hostname portno");
  459.  
  460. server=gethostbyname(argv[1]);
  461. portno=atoi(argv[2]);
  462.  
  463. bzero((char*)&ser_addr,sizeof(ser_addr));
  464. ser_addr.sin_family=AF_INET;
  465. bcopy((char*)server->h_addr,(char*)&ser_addr.sin_addr.s_addr,server->h_length);
  466. ser_addr.sin_port=htons(portno);
  467.  
  468. sockfd=socket(AF_INET,SOCK_STREAM,0);
  469. if(sockfd==-1)
  470. error("error in socket descriptor");
  471. printf("\nsocket created\n");
  472.  
  473. if(connect(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)
  474. error("error in connect");
  475. printf("\nconnect successfully\n");
  476.  
  477. bzero(buffer,sizeof(buffer));
  478.  
  479.  
  480. while(1)
  481. {
  482. printf("\nEnter message for server:");
  483. scanf("%s",buffer);
  484. if(write(sockfd,buffer,sizeof(buffer))<0)
  485. printf("writing error");
  486.  
  487. if(read(sockfd,buffer,sizeof(buffer))<0)
  488. printf("\n message read error\n");
  489.  
  490. printf("\nmessage got from client:%s",buffer);
  491. bzero(buffer,sizeof(buffer));
  492.  
  493.  
  494. }
  495. close(sockfd);
  496. return 0;
  497. }
  498.  
  499.  
  500.  
  501. Message Transfer Server
  502.  
  503.  
  504.  
  505. #include<stdio.h>
  506. #include<stdlib.h>
  507. #include<string.h>
  508. #include<sys/socket.h>
  509. #include<netdb.h>
  510. #include<arpa/inet.h>
  511.  
  512. void error(char *msg)
  513. {
  514. perror(msg);
  515. exit(1);
  516. }
  517.  
  518. int main(int argc,char* argv[])
  519. {
  520. int sockfd,newsockfd,portno;
  521. char buffer[256];
  522. struct sockaddr_in ser_addr;
  523.  
  524. if(argc<2)
  525. error("./server portno");
  526.  
  527. portno=atoi(argv[1]);
  528.  
  529. bzero((char*)&ser_addr,sizeof(ser_addr));
  530. ser_addr.sin_family=AF_INET;
  531. ser_addr.sin_addr.s_addr=INADDR_ANY;
  532. ser_addr.sin_port=htons(portno);
  533.  
  534. sockfd=socket(AF_INET,SOCK_STREAM,0);
  535. if(sockfd==-1)
  536. error("error in socket descriptor");
  537. printf("\nsocket created\n");
  538.  
  539. if(bind(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)
  540. error("error in binding");
  541. printf("\nbinding successful\n");
  542.  
  543. if(listen(sockfd,5)==-1)
  544. error("error in listening");
  545. printf("\nlisten successfully\n");
  546.  
  547. newsockfd=accept(sockfd,NULL,NULL);
  548.  
  549. bzero(buffer,sizeof(buffer));
  550.  
  551. while(1)
  552. {
  553. if(read(newsockfd,buffer,sizeof(buffer))<0)
  554. printf("\n message read error\n");
  555.  
  556. printf("\nmessage got from client:%s",buffer);
  557. bzero(buffer,sizeof(buffer));
  558.  
  559. printf("\nEnter message for client:");
  560. scanf("%s",buffer);
  561. if(write(newsockfd,buffer,sizeof(buffer))<0)
  562. printf("writing error");
  563. }
  564. close(newsockfd);
  565. return 0;
  566. }
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573. Aim: To Implement a message transfer from client to server
  574. process using UDP.
  575. Code:
  576. Server:
  577. #include <arpa/inet.h>
  578. #include <netinet/in.h>
  579. #include <stdio.h>
  580. #include <sys/types.h>
  581. #include <sys/socket.h>
  582. #include <unistd.h>
  583. #include <stdlib.h>
  584. #include <string.h>
  585. #define BUFLEN 512
  586. #define PORT 9930
  587. void err(char *str)
  588. {
  589. perror(str);
  590. exit(1);
  591. }
  592. int main(void)
  593. {
  594. struct sockaddr_in my_addr, cli_addr;
  595. int sockfd, i;
  596. socklen_t slen=sizeof(cli_addr);
  597. char buf[BUFLEN];
  598. if ((sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP))==-1)
  599. err("socket");
  600. else
  601. printf("Server : Socket() successful\n");
  602. bzero(&my_addr, sizeof(my_addr));
  603. my_addr.sin_family = AF_INET;
  604. my_addr.sin_port = htons(PORT);
  605. my_addr.sin_addr.s_addr = htonl(INADDR_ANY);
  606.  
  607. if (bind(sockfd, (struct sockaddr* ) &my_addr, sizeof(my_addr))==-1)
  608. err("bind");
  609. else
  610. printf("Server : bind() successful\n");
  611. while(1)
  612. {
  613. if (recvfrom(sockfd, buf, BUFLEN, 0, (struct sockaddr*)&cli_addr,
  614. &slen)==-1)
  615. err("recvfrom()");
  616. printf("Received packet from %s:%d\nData: %s\n\n",
  617. inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port), buf);
  618. }
  619. close(sockfd);
  620. return 0;
  621. }
  622.  
  623.  
  624.  
  625. return 0;
  626. }
  627. Client:
  628. #include <arpa/inet.h>
  629. #include <netinet/in.h>
  630. #include <stdio.h>
  631. #include <sys/types.h>
  632. #include <sys/socket.h>
  633. #include <unistd.h>
  634. #include <stdlib.h>
  635. #include <string.h>
  636. #define BUFLEN 512
  637. #define PORT 9930
  638. void err(char *s)
  639. {
  640. perror(s);
  641. exit(1);
  642. }
  643. int main(int argc, char** argv)
  644. {
  645. struct sockaddr_in serv_addr;
  646. int sockfd, i, slen=sizeof(serv_addr);
  647. char buf[BUFLEN];
  648. if(argc != 2)
  649. {
  650. printf("Usage : %s <Server-IP>\n",argv[0]);
  651. exit(0);
  652. }
  653. if ((sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP))==-1)
  654. err("socket");
  655. bzero(&serv_addr, sizeof(serv_addr));
  656. serv_addr.sin_family = AF_INET;
  657. serv_addr.sin_port = htons(PORT);
  658. if (inet_aton(argv[1], &serv_addr.sin_addr)==0)
  659. {
  660. fprintf(stderr, "inet_aton() failed\n");
  661. exit(1);
  662. }
  663. while(1)
  664. {
  665. printf("\nEnter data to send(Type exit and press enter to exit) : ");
  666. scanf("%[^\n]",buf);
  667. getchar();
  668. if(strcmp(buf,"exit") == 0)
  669. exit(0);
  670. if (sendto(sockfd, buf, BUFLEN, 0, (struct sockaddr*)&serv_addr,
  671. slen)==-1)
  672. err("sendto()");
  673. }
  674. close(sockfd);
  675. return 0;
  676. }
  677.  
  678.  
  679.  
  680.  
  681. ECHO UDP SERVER
  682.  
  683.  
  684.  
  685. SOURCE CODE:
  686. SERVER:
  687. #include<sys/types.h>
  688. #include<sys/socket.h>
  689. #include<netinet/in.h>
  690. #include<unistd.h>
  691. #include<netdb.h>
  692. #include<stdio.h>
  693. #include<string.h>
  694. #include<arpa/inet.h>
  695. #define MAXLINE 1024
  696. int main(int argc,char **argv)
  697. {
  698. int sockfd;
  699. int n;
  700. socklen_t len;
  701. char msg[1024];
  702. struct sockaddr_in servaddr,cliaddr;
  703. sockfd=socket(AF_INET,SOCK_DGRAM,0);
  704. bzero(&servaddr,sizeof(servaddr));
  705. servaddr.sin_family=AF_INET;
  706. servaddr.sin_addr.s_addr=INADDR_ANY;
  707. servaddr.sin_port=htons(5035);
  708. printf("\n\n Binded");
  709. bind(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
  710. printf("\n\n Listening...");
  711. for(;;)
  712. {
  713. printf("\n ");
  714. len=sizeof(cliaddr);
  715. n=recvfrom(sockfd,msg,MAXLINE,0,(struct sockaddr*)&cliaddr,&len);
  716. printf("\n Client's Message : %s\n",msg);
  717. if(n<6)
  718. perror("send error");
  719. sendto(sockfd,msg,n,0,(struct sockaddr*)&cliaddr,len);
  720. }
  721. return 0;
  722. }
  723.  
  724. CLIENT:
  725. #include<sys/types.h>
  726. #include<sys/socket.h>
  727. #include<netinet/in.h>
  728. #include<string.h>
  729. #include<arpa/inet.h>
  730. #include<string.h>
  731. #include<arpa/inet.h>
  732. #include<stdio.h>
  733. #define MAXLINE 1024
  734. int main(int argc,char* argv[])
  735. {
  736. int sockfd;
  737. int n;
  738. socklen_t len;
  739. char sendline[1024],recvline[1024];
  740. struct sockaddr_in servaddr;
  741. strcpy(sendline,"");
  742. printf("\n Enter the message : ");
  743. scanf("%s",sendline);
  744. sockfd=socket(AF_INET,SOCK_DGRAM,0);
  745. bzero(&servaddr,sizeof(servaddr));
  746. servaddr.sin_family=AF_INET;
  747. servaddr.sin_addr.s_addr=inet_addr("127.0.0.1");
  748. servaddr.sin_port=htons(5035);
  749. connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
  750. len=sizeof(servaddr);
  751. sendto(sockfd,sendline,MAXLINE,0,(struct sockaddr*)&servaddr,len);
  752. n=recvfrom(sockfd,recvline,MAXLINE,0,NULL,NULL);
  753. recvline[n]=0;
  754. printf("\n Server's Echo : %s\n\n",recvline);
  755. return 0;
  756. }
Add Comment
Please, Sign In to add comment