共用方式為


建立基本 Winsock 應用程式

建立基本 Winsock 應用程式

  1. 建立新的空白專案。

  2. 將空的 C++ 原始程式檔新增至專案。

  3. 請確定組建環境參考 Microsoft Windows 軟體發展工具組 (SDK) 或舊版平臺軟體發展工具組 (SDK) 的 Include、Lib 和 Src 目錄。

  4. 請確定組建環境會連結至 winsock Library 檔案Ws2_32.lib。 使用 Winsock 的應用程式必須與 Ws2_32.lib 程式庫檔案連結。 #pragma批註會向連結器指出需要 Ws2_32.lib 檔案。

  5. 開始設計 Winsock 應用程式。 包含 Winsock 2 標頭檔,以使用 Winsock API。 Winsock2.h標頭檔包含大部分的 Winsock 函式、結構和定義。 Ws2tcpip.h標頭檔包含 WinSock 2 Protocol-Specific附錄檔中所導入的定義,其中包含用來擷取 IP 位址的較新函式和結構。

    注意

    Stdio.h 用於標準輸入和輸出,特別是 printf () 函式。

     

#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>

#pragma comment(lib, "Ws2_32.lib")

int main() {
  return 0;
}

注意

如果應用程式使用 IP 協助程式 API,則需要 Iphlpapi.h 標頭檔。 需要 Iphlpapi.h 標頭檔時, Winsock2.h 標頭檔#include行應該放在 Iphlpapi.h 標頭檔#include行之前。

Winsock2.h標頭檔在內部包含來自 Windows.h標頭檔的核心元素,因此 Winsock 應用程式中的Windows.h標頭檔通常沒有#include行。 如果 Windows.h 標頭檔需要#include行,這應該前面加上 #define WIN32_LEAN_AND_MEAN 宏。 基於歷史原因, Windows.h 標頭預設為包含 Windows Sockets 1.1 的 Winsock.h 標頭檔。 Winsock.h標頭檔中的宣告會與 Windows Sockets 2.0 所需的 Winsock2.h標頭檔中的宣告衝突。 WIN32_LEAN_AND_MEAN 宏可防止Windows.h標頭包含Winsock.h。 說明此範例的範例如下所示。

 

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif

#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <stdio.h>

#pragma comment(lib, "Ws2_32.lib")

int main() {
  return 0;
}

下一個步驟: 初始化 Winsock

使用 Winsock 消費者入門

關於伺服器和用戶端