建立基本 Winsock 應用程式
建立基本 Winsock 應用程式
建立新的空白專案。
將空C++原始程序檔新增至專案。
確定建置環境是指 Microsoft Windows 軟體開發工具包 (SDK) 或舊版平臺軟體開發工具包 (SDK) 的 Include、Lib 和 Src 目錄。
確定組建環境會連結至 winsock Library 檔案Ws2_32.lib。 使用 Winsock 的應用程式必須與 Ws2_32.lib 連結庫檔案連結。 #pragma 批注會向連結器指出需要 Ws2_32.lib 檔案。
開始對 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
相關主題