Advertisement
Guest User

Untitled

a guest
Nov 14th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. // klient.cpp: definiuje punkt wejścia dla aplikacji konsolowej.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #define _WINSOCK_DEPRECATED_NO_WARNINGS
  6. #pragma comment(lib, "ws2_32.lib")
  7. #include <WinSock2.h>
  8. #include <iostream>
  9.  
  10. int main()
  11. {
  12. //Winsock Startup
  13. WSAData wsaData;
  14. WORD DllVersion = MAKEWORD(2, 1);
  15. if (WSAStartup(DllVersion, &wsaData) != 0) { //Jezeli WSAStartup zwroci cokolwiek innego od 0 to wystapil blad w startupie
  16. MessageBoxA(NULL, "Winsock startup failed", "Error", MB_OK | MB_ICONERROR);
  17. exit(1);
  18. }
  19.  
  20. SOCKADDR_IN addr; //Adres ktory zwiazemy z socketem polaczenia
  21. int addrlen = sizeof(addr); //Potrzeba sizeof do funkcji connect
  22. addr.sin_addr.s_addr = inet_addr("127.0.0.1"); //Adres = localhost
  23. addr.sin_port = htons(1111); //Port = 1111
  24. addr.sin_family = AF_INET; //IPv4 Socket
  25.  
  26. SOCKET Connection = socket(AF_INET, SOCK_STREAM, NULL); //ustawianie socketu
  27. if (connect(Connection, (SOCKADDR*)&addr, sizeof(addr)) != 0) { //Jezeli nie mozemy sie polaczyc
  28. //MessageBoxA(NULL, "Nie udalo sie polaczyc", "Error", MB_OK | MB_ICONERROR);
  29. std::cout << "Nie udalo sie polaczyc z serwerem, zrestartuj aplikacje\n";
  30. system("PAUSE");
  31. return 0; //Nie udalo sie polaczyc
  32. }
  33. std::cout << "Polaczono z serwerem" << std::endl;
  34. char msg[256];
  35. int L;
  36. double L_pow;
  37. while (1) {
  38. recv(Connection, msg, sizeof(msg), NULL); //Odbierz bufor msg do tablicy
  39. std::cout << msg;
  40. std::cin >> L;
  41. if (L == 0) {
  42. if (shutdown(Connection, 2) == 0) { //shutdown zwraca 0 jezeli uda sie rozlaczyc
  43. std::cout << "Rozlaczono z serwerem\n";
  44. }
  45. WSACleanup();
  46. break;
  47. }
  48. send(Connection, (char*)&L, sizeof(L), NULL);
  49. recv(Connection, (char*)&L_pow, sizeof(L_pow), NULL);
  50. std::cout << "Odebrany wynik: " << L_pow << std::endl;
  51. }
  52.  
  53. system("PAUSE");
  54. return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement