次の方法で共有


基本的な Winsock アプリケーションの作成

基本的な Winsock アプリケーション を作成するには

  1. 新しい空のプロジェクトを作成します。

  2. 空の C++ ソース ファイルをプロジェクトに追加します。

  3. ビルド環境が、Microsoft Windows ソフトウェア開発キット (SDK) または以前のプラットフォーム ソフトウェア開発キット (SDK) の Include、Lib、Src ディレクトリを参照していることを確認します。

  4. ビルド環境が Winsock ライブラリ ファイルWs2_32.lib にリンクされていることを確認します。 Winsock を使用するアプリケーションは、Ws2_32.lib ライブラリ ファイルにリンクされている必要があります。 #pragma コメントは、Ws2_32.lib ファイルが必要であることをリンカーに示します。

  5. Winsock アプリケーションのプログラミングを開始します。 Winsock 2 ヘッダー ファイルを含めることで、Winsock API を使用します。 Winsock2.h ヘッダー ファイルには、Winsock 関数、構造体、および定義の大部分が含まれています。 Ws2tcpip.h ヘッダー ファイルには、TCP/IP 用の WinSock 2 Protocol-Specific Annex ドキュメントで導入された定義が含まれています。これには、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 ヘッダー ファイルが必要な場合は、Iphlpapi.h ヘッダー ファイルの #include 行の前に、Winsock2.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 ソケット 2.0 で必要な Winsock2.h ヘッダー ファイル内の宣言と競合します。 WIN32_LEAN_AND_MEAN マクロを使用すると、Winsock.hWindows.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を使い始める

サーバーとクライアントの について