Advertisement
Leeen

Server#1

Apr 27th, 2020
550
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.29 KB | None | 0 0
  1. // Server.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
  2. //
  3. #pragma comment(lib, "ws2_32.lib")
  4. #include <winsock2.h>
  5. #include <iostream>
  6. #include<string>
  7. #pragma warning(disable: 4996)
  8.  
  9. using namespace std;
  10.  
  11. int main(int argc, char* argv[]) {
  12.    
  13.     WSAData wsaData;
  14.     WORD DLLVersion = MAKEWORD(2, 1);
  15.     if (WSAStartup(DLLVersion, &wsaData) != 0) {
  16.         cout << "Error" << endl;
  17.         exit(1);
  18.     }
  19.  
  20.     SOCKADDR_IN addr;
  21.     int sizeofaddr = sizeof(addr);
  22.     addr.sin_addr.s_addr = inet_addr("127.0.0.1");
  23.     addr.sin_port = htons(1111);
  24.     addr.sin_family = AF_INET;
  25.  
  26.     SOCKET sListen = socket(AF_INET, SOCK_STREAM, NULL);
  27.     bind(sListen, (SOCKADDR*)&addr, sizeof(addr));
  28.     listen(sListen, SOMAXCONN);
  29.  
  30.     SOCKET newConnection = accept(sListen, (SOCKADDR*)&addr, &sizeofaddr);
  31.    
  32.     if (newConnection == 0) {
  33.         cout << "Error. Connection not found\n";
  34.     }
  35.     else {
  36.         cout << "Client Connected!\n";
  37.         int msg_size;
  38.         while (true) {
  39.             recv(newConnection, (char*)&msg_size, sizeof(int), NULL);
  40.             char* msg = new char[msg_size + 1];
  41.             msg[msg_size] = '\0';
  42.             recv(newConnection, msg, msg_size, NULL);
  43.             cout << msg << endl;
  44.             delete[] msg;
  45.         }
  46.     }
  47.  
  48.  
  49.     system("pause");
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement