共用方式為


建立基本 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 Helper API,則必須使用 Iphlpapi.h 標頭檔案。 需要 Iphlpapi.h 頭檔時,Winsock2.h 頭檔 #include 行應該放在 Iphlpapi.h 頭檔 #include 行之前。

Winsock2.h 頭文件內部包含來自 windows.h 頭檔 核心元素,因此 Winsock 應用程式中的 Windows.h 頭檔通常沒有 #include 行。 如果需要加入 #include 行以使用 Windows.h 頭文件,則應在此之前加入 #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

關於伺服器和用戶端