Advertisement
Guest User

Untitled

a guest
Oct 16th, 2017
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <cstdio>
  2. #include <sys/socket.h>
  3. #include <netinet/in.h>
  4. #include <cstdlib>
  5. #include <unistd.h>
  6. #include <cstring>
  7. #include <arpa/inet.h>
  8. #include <iostream>
  9. #include <vector>
  10.  
  11.  
  12. int main()
  13. {
  14.     auto tmpBuffer = new char[8];
  15.     sockaddr_in myAddr = {AF_INET, htons(1234), INADDR_ANY};
  16.     auto sock = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
  17.     bind(sock, (sockaddr*) &myAddr, sizeof(myAddr));
  18.  
  19.     const int one = 1;
  20.     setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
  21.  
  22.     listen(sock, 1);
  23.  
  24.     sockaddr_in inputAddr{};
  25.     socklen_t t = sizeof(inputAddr);
  26.  
  27.     while(true)
  28.     {
  29.         auto descriptor = accept(sock, (sockaddr *) &inputAddr, &t);
  30.         std::cout << "IP: " << inet_ntoa(inputAddr.sin_addr) << std::endl;
  31.        std::cout << "Port: " << ntohs(inputAddr.sin_port) << std::endl;
  32.        while((read(descriptor, tmpBuffer, 8)) > 0)
  33.             std::cout << tmpBuffer << std::endl;
  34.  
  35.        close(descriptor);
  36.    }
  37.  
  38.    close(sock);
  39.    free(tmpBuffer);
  40.  
  41.    return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement