Advertisement
Guest User

TCP - ECHO - SERVIDOR

a guest
Oct 17th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #include<sys/types.h>
  3. #include<sys/socket.h>
  4. #include<netinet/in.h>
  5. #include <unistd.h>
  6.  
  7. #define PORT 8000
  8. #define MAXSZ 100
  9.  
  10. int main()
  11. {
  12.  int sockfd;
  13.  int newsockfd;
  14.  
  15.  struct sockaddr_in serverAddress;
  16.  struct sockaddr_in clientAddress;
  17.  
  18.  int n;
  19.  char msg[MAXSZ];
  20.  unsigned int clientAddressLength;
  21.  
  22.  sockfd=socket(AF_INET,SOCK_STREAM,0);
  23.  
  24.  memset(&serverAddress,0,sizeof(serverAddress));
  25.  serverAddress.sin_family=AF_INET;
  26.  serverAddress.sin_addr.s_addr=htonl(INADDR_ANY);
  27.  serverAddress.sin_port=htons(PORT);
  28.  
  29.  bind(sockfd,(struct sockaddr *)&serverAddress, sizeof(serverAddress));
  30.  
  31.  listen(sockfd, 5);
  32.  
  33.  printf("\n*****server waiting for new client connection:*****\n");
  34.  clientAddressLength=sizeof(clientAddress);
  35.  newsockfd=accept(sockfd,(struct sockaddr*)&clientAddress,&clientAddressLength);
  36.  printf("accepted new connection\n");
  37.  
  38.  while(1){
  39.   memset(&msg, 0, sizeof msg);
  40.   n = recv(newsockfd,msg,MAXSZ,0);
  41.   if(msg[0] == '#') break;
  42.   send(newsockfd,msg,n,0);
  43.   printf("Receive and set:%s\n",msg);
  44.  }
  45.  
  46.  close(sockfd);
  47.  close(newsockfd);
  48.  
  49.  return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement