Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // klient.cpp: definiuje punkt wejścia dla aplikacji konsolowej.
- //
- #include "stdafx.h"
- #define _WINSOCK_DEPRECATED_NO_WARNINGS
- #pragma comment(lib, "ws2_32.lib")
- #include <WinSock2.h>
- #include <iostream>
- int main()
- {
- //Winsock Startup
- WSAData wsaData;
- WORD DllVersion = MAKEWORD(2, 1);
- if (WSAStartup(DllVersion, &wsaData) != 0) { //Jezeli WSAStartup zwroci cokolwiek innego od 0 to wystapil blad w startupie
- MessageBoxA(NULL, "Winsock startup failed", "Error", MB_OK | MB_ICONERROR);
- exit(1);
- }
- SOCKADDR_IN addr; //Adres ktory zwiazemy z socketem polaczenia
- int addrlen = sizeof(addr); //Potrzeba sizeof do funkcji connect
- addr.sin_addr.s_addr = inet_addr("127.0.0.1"); //Adres = localhost
- addr.sin_port = htons(1111); //Port = 1111
- addr.sin_family = AF_INET; //IPv4 Socket
- SOCKET Connection = socket(AF_INET, SOCK_STREAM, NULL); //ustawianie socketu
- if (connect(Connection, (SOCKADDR*)&addr, sizeof(addr)) != 0) { //Jezeli nie mozemy sie polaczyc
- //MessageBoxA(NULL, "Nie udalo sie polaczyc", "Error", MB_OK | MB_ICONERROR);
- std::cout << "Nie udalo sie polaczyc z serwerem, zrestartuj aplikacje\n";
- system("PAUSE");
- return 0; //Nie udalo sie polaczyc
- }
- std::cout << "Polaczono z serwerem" << std::endl;
- char msg[256];
- int L;
- double L_pow;
- while (1) {
- recv(Connection, msg, sizeof(msg), NULL); //Odbierz bufor msg do tablicy
- std::cout << msg;
- std::cin >> L;
- if (L == 0) {
- if (shutdown(Connection, 2) == 0) { //shutdown zwraca 0 jezeli uda sie rozlaczyc
- std::cout << "Rozlaczono z serwerem\n";
- }
- WSACleanup();
- break;
- }
- send(Connection, (char*)&L, sizeof(L), NULL);
- recv(Connection, (char*)&L_pow, sizeof(L_pow), NULL);
- std::cout << "Odebrany wynik: " << L_pow << std::endl;
- }
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement