afxbe

Mattepuffo's logo
Windows server socket in C++

Windows server socket in C++

Chiariamo subito che parliamo di Visual C++, quindi il programma userà le librerie di Windows e non sarà usabile su altri sistemi (ho in programma di creare una versione per Linux).

Nello specifico useremo le librerie Winsock.

Iniziamo a creare un progetto in Visual Studio di tipo VC++ console; aggiungete anche le librerie MFC in fase di creazione.

MFC ci servirà per implementare il multi-thread!

Una volta creato il progetto aprite il file stdafx.h e aggiungete queste righe:

#include <WinSock2.h>
#include <conio.h>
using namespace std;

Così facendo avremo disponibile il tutto per tutto il progetto.

Dopo di che creiamo una nuova classe che chiameremo Server.

Nel file di intestazione ci sarà questo:

#pragma once

using namespace std;

class Server {
public:
    Server();
    virtual ~Server();
    UINT initConnection();
    void stopConnection();
private:
    SOCKET server;
    SOCKET inAscolto;
};

In pratica abbiamo aggiunto due funzioni (una per la connessione e una per la disconnessione) e due variabili private.

Fin qui direi nulla di difficile.