Win32 API Winsock API Reference Search MSDN

Winsock API Reference

Overview

The Windows Sockets API (Winsock) provides a standardized interface for network communication on Windows platforms. It implements the Berkeley sockets API with extensions specific to Windows.

Typical workflow:

WSAStartup();          // Initialize Winsock
sock = socket();       // Create socket
bind(sock, ...);       // Bind address (server)
listen(sock, ...);     // Listen for connections (server)
conn = accept(sock);   // Accept a client (server)
connect(sock, ...);    // Connect to server (client)
send(sock, ...);       // Send data
recv(sock, ...);       // Receive data
closesocket(sock);     // Close socket
WSACleanup();          // Cleanup Winsock

Key Structures

typedef struct sockaddr {
    unsigned short sa_family;
    char           sa_data[14];
} SOCKADDR, *PSOCKADDR;

typedef struct sockaddr_in {
    short   sin_family;
    u_short sin_port;
    struct  in_addr sin_addr;
    char    sin_zero[8];
} SOCKADDR_IN, *PSOCKADDR_IN;

typedef struct in_addr {
    union {
        struct { BYTE s_b1,s_b2,s_b3,s_b4; } S_un_b;
        struct { WORD s_w1,s_w2; } S_un_w;
        ULONG S_addr;
    } S_un;
} IN_ADDR, *PIN_ADDR;

Typical Errors