Leeen

Server#2

Apr 28th, 2020
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 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.     WSAData wsaData;
  13.     WORD DLLVersion = MAKEWORD(2, 1);
  14.     if (WSAStartup(DLLVersion, &wsaData) != 0) {
  15.         cout << "Error" << endl;
  16.         exit(1);
  17.     }
  18.  
  19.     SOCKADDR_IN addr;
  20.     int sizeofaddr = sizeof(addr);
  21.     addr.sin_addr.s_addr = inet_addr("127.0.0.1");
  22.     addr.sin_port = htons(1111);
  23.     addr.sin_family = AF_INET;
  24.  
  25.     SOCKET sListen = socket(AF_INET, SOCK_STREAM, NULL);
  26.     bind(sListen, (SOCKADDR*)&addr, sizeof(addr));
  27.     listen(sListen, SOMAXCONN);
  28.  
  29.     SOCKET newConnection = accept(sListen, (SOCKADDR*)&addr, &sizeofaddr);
  30.    
  31.     if (newConnection == 0) {
  32.         cout << "Error. Connection not found\n";
  33.         closesocket(newConnection);
  34.         WSACleanup();
  35.         return -1;
  36.     }
  37.     else {
  38.         cout << "Client Connected!\n";
  39.         int msg_size;
  40.         while (true) {
  41.             char msg;
  42.             recv(newConnection, &msg, sizeof(char), NULL);
  43.             if (msg == '\b') {
  44.                 cout << '\b' << ' ' << '\b';
  45.                
  46.             }
  47.             else if (msg == '\n')
  48.                 cout << endl;
  49.             else
  50.                 cout << msg;
  51.             Sleep(100);
  52.         }
  53.        
  54.     }
  55.     WSACleanup();
  56.     closesocket(newConnection);
  57.     closesocket(sListen);
  58.  
  59.     system("pause");
  60.     return 0;
  61. }
Add Comment
Please, Sign In to add comment