Networking

This section provides comprehensive documentation for the Windows networking APIs, enabling developers to build robust and efficient network-aware applications.

Core Networking APIs

Explore the fundamental APIs for network communication on Windows.

Winsock (Windows Sockets API)

Winsock provides a standard C-style API for network programming, compatible with Berkeley sockets.

  • socket(): Create a socket.
  • bind(): Assign a local address to a socket.
  • connect(): Establish a connection to a remote socket.
  • send() / recv(): Send and receive data.
  • listen() / accept(): Handle incoming connections for server sockets.
Note: Winsock is a powerful but low-level API. For many applications, higher-level abstractions are recommended.

WSASocket

A more flexible and extensible version of the socket() function.

I/O Completion Ports (IOCP)

An asynchronous, high-performance I/O model for scalable network applications.

Higher-Level Networking Frameworks

Leverage Windows' built-in frameworks for simpler and more efficient network development.

HTTP Client APIs

APIs for making HTTP requests and handling responses.

  • WinHTTP: For server-side or advanced client-side HTTP communication.
  • InternetOpen() (WinInet): For simpler client-side HTTP/FTP operations, often used in browsers.

WebSockets

APIs for establishing full-duplex communication channels over a single TCP connection.

Network List Manager

APIs to enumerate and manage network connections, adapters, and connectivity status.

Network Protocols and Services

Information on working with various network protocols.

TCP/IP

The foundational protocol suite for most internet communication.

  • See Winsock documentation for detailed TCP/IP socket programming.

UDP

Connectionless datagram protocol.

  • Create UDP sockets using SOCK_DGRAM.

DNS (Domain Name System)

APIs for name resolution.

Security and Network Access

APIs related to network security and access control.

TLS/SSL (Transport Layer Security/Secure Sockets Layer)

APIs for securing network communication.

Network Policies

APIs for configuring and managing network access policies.