Facebook
From Coral Monkey, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 258
  1. #include "Client.h"
  2.  
  3.  
  4. int client::TCP()
  5. {
  6.         /* Inicjalizacja WinSock */
  7.         WSAStartup(MAKEWORD(2, 2), &wsaData);
  8.  
  9.         /* tworzenie socketa */
  10.         s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  11.  
  12.         /* przypisywanie struktury sockaddr_in */
  13.         dest_addr.sin_family = AF_INET;
  14.         dest_addr.sin_port = htons(1111);
  15.         inet_pton(AF_INET, "127.0.0.1", &dest_addr.sin_addr);
  16.  
  17.         /* laczenie sie */
  18.         connect(s, (sockaddr*)& dest_addr, sin_size);
  19.  
  20.         /* glowny program */
  21.         int L;
  22.         std::cout << "Podaj liczbe L: "; std::cin >> buffer;
  23.         std::string str = buffer;
  24.         L = std::stoi(str);
  25.         send(s, buffer, sizeof(buffer), 0);
  26.         for (int i = 0; i < L; i++)
  27.         {
  28.                 std::cout << "Podaj liczbe C_"<<i+1<<": "; std::cin >> buffer;
  29.                 send(s, buffer, sizeof(buffer), 0);
  30.         }
  31.         for (int i = 0; i < L; i++)
  32.         {
  33.  
  34.                 recv(s, buffer, 128, 0);
  35.                 std::cout << "Otrzymana liczba: " << buffer << std::endl;
  36.         }
  37.                
  38.  
  39.         std::cout << "Serwer rozlonczyl sie\n" << std::endl;
  40.                 closesocket(s);
  41.         WSACleanup();
  42.  
  43.         return 0;
  44. }
  45.  
  46. int client::UDP()
  47. {
  48.         /* Inicjalizacja WinSock */
  49.         WSAStartup(MAKEWORD(2, 2), &wsaData);
  50.  
  51.         s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
  52.         dest_addr.sin_family = AF_INET;
  53.         dest_addr.sin_port = htons(1111);
  54.         inet_pton(AF_INET, "127.0.0.1", &dest_addr.sin_addr);
  55.  
  56.         std::cout << "Podaj liczbe L: "; std::cin >> buffer;
  57.         std::string str = buffer;
  58.         int L = std::stoi(str);
  59.         sendto(s, buffer, 128, 0, (sockaddr*)&dest_addr, sin_size);
  60.         for (int i = 0; i < L; i++)
  61.         {
  62.                 std::cout << "Podaj liczbe C_" << i + 1 << ": "; std::cin >> buffer;
  63.                 sendto(s, buffer, 128, 0, (sockaddr*)&dest_addr, sin_size);
  64.         }
  65.         for (int i = 0; i < L; i++)
  66.         {
  67.  
  68.                 recvfrom(s, buffer, 128, 0, (sockaddr*)&dest_addr, &sin_size);
  69.                 std::cout << "Otrzymana liczba: " << buffer << std::endl;
  70.         }
  71.        
  72.  
  73.         return 1;
  74. }