Condividi tramite


Windows Sockets in MFC

Nota

MFC supporta le Windows Sockets 1 ma non supporta le Windows Sockets 2.Le Windows Sockets 2 innanzitutto sono state introdotte con Windows 98 ed è la versione inclusa con Windows 2000.

MFC fornisce due modelli per la scrittura di programmi di comunicazione di rete tramite Windows Sockets, inclusi in due classi MFC. In questo articolo vengono descritti questi modelli e ulteriori dettagli sul supporto delle socket MFC. Una "socket" è un endpoint di comunicazione: un oggetto tramite il quale l'applicazione comunica con altre applicazioni Windows Sockets attraverso una rete.

Per informazioni sulle Windows Sockets, inclusa una spiegazione del concetto di socket, vedere Windows Sockets: Background.

Modelli di programmazione socket

I due modelli di programmazione MFC Windows Sockets sono supportati dalle seguenti classi:

  • CAsyncSocket

    Questa classe è incapsulata nelle Windows Sockets API. CAsyncSocket è per i programmatori che conoscono la programmazione di rete consentendo flessibilità nella programmazione diretta con le socket API, ma inoltre consentono la comodità dell'utilizzo delle funzioni di callback per la notifica degli eventi di rete. Diversamente dalla creazione dei pacchetti socket in un formato orientato agli oggetti per l'utilizzo in C++, l'unica astrazione aggiuntiva che questa classe fornisce è la conversione delle socket relative a Windows in callback. Per ulteriori informazioni, vedere Windows Sockets: Notifiche di socket.

  • CSocket

    Questa classe, derivata da CAsyncSocket, fornisce un'astrazione di livello superiore per l'utilizzo di socket tramite un oggetto MFC CArchive. Utilizza una socket con un archivio che assomiglia notevolmente all'utilizzo di un protocollo di serializzazione di un file MFC. Ciò semplifica l'utilizzo del modello CAsyncSocket. CSocket ereditano numerose funzioni membro da CAsyncSocket che incapsulano le API Windows Sockets; sarà necessario utilizzare alcune di queste funzioni e comprendere la programmazione con le socket in generale. Ma CSocket gestisce molti aspetti della comunicazione che altrimenti sarebbe necessario gestire manualmente utilizzando le API o la classe CAsyncSocket. Ancora più importante, CSocket, fornisce il blocco (per l'elaborazione in background dei messaggi di windows), che è essenziale per l'operazione di sincronizzazione di CArchive.

La creazione e l'utilizzo degli oggetti CSocket e CAsyncSocket vengono descritti in Windows Sockets: Utilizzo di socket con gli archivi e in Windows Sockets: Utilizzo della classe CAsyncSocket.

Windows Sockets DLLs

Il sistema operativo Microsoft Windows supporta le Librerie a collegamento dinamico Windows Sockets (DLL). Visual C++ include i file di intestazione e le librerie appropriate e le specifiche delle Windows Sockets.

Nota

In Windows NT e Windows 2000, il supporto alle Windows Sockets per applicazioni a 16 bit è basato su WINSOCK.DLL.Per le applicazioni a 32 bit, il supporto è in WSOCK32.DLL.Le API fornite sono identiche tranne che nelle versioni a 32 bit dispongono di parametri estesi a 32 bit.In Win32, è fornito il thread safety.

Per ulteriori informazioni sulle Windows Sockets, vedere .

Vedere anche

Concetti

Windows Sockets