ネットワークプログラミング
WinSock
WinSock 等のネットワーク API を利用したネットワークプログラミングのトピックを取り上げます。
比較的入門的なトピックについては、Windows プログラミング入門の
ネットワーク入門に記載しています。
多少重なる部分もあるとおもいますので、両方ともご覧ください。
- 名前解決の方法
名前解決とは www.yahoo.com とか www.microsoft.com などの名前から、IP アドレスを取得する作業のことを指します。通常は DNS サーバや HOSTS ファイルを利用して...
- 非同期名前解決ダイアログ
WSAAsyncGetHostByName 関数を使った非同期名前解決の方法をコードで示します。非同期で問い合わせ、返ってきた HOSTENT の中身を表示します。
- ping の作成
Raw Socket (生ソケット) を利用すると Ping のようなプログラムを書くことも容易にできます。本稿では、単純な ping のサンプルコードを示します。通常の ping にはいろいろなオプションがありますが、ここでは最も単純なコードにしました。
- WinSock で簡易パケットキャプチャを作ろう
WinSock の生ソケットを利用することで、パケットキャプチャプログラムを簡単に作成することが出来ます。
- WinSock での IP アドレスとポートの扱い方
WinSock を学ぶときに障害となりやすいのはデータ構造のバリエーションの多さにあると思います。 WSADATA からはじまり、HOSTENT、sockaddr とさまざまな型の構造体が定義されています。これらはさまざまなプロトコルに対応できることのトレードオフとして強いられる複雑さなのですが、 TCP/IP(v4) に限って言えば非常に簡単にまとめることができます。
- WinSock 用ヘルパー関数
ネットワークプログラミングを行うにあたり、データ読み出し用及びデータダンプ用のファンクションを書きました。
ネットワークリストマネージャ
- ネットワーク接続の有無の確認
Network List Manager API を使った最も単純なコード例として、ネットワーク接続の有無をチェックするコードを書きました。
Windows RSS プラットフォーム
IP ヘルパー関数
Windows ネットワーク
- ローカルの名前から UNC 名を取得する方法
例えば、ローカルドライブ文字の Z: に \\servername\public という UNC シェア名をマッピングしている状況を考えます。このときに、プログラムに Z: を与え、\\servername\public を取得する方法についてご紹介します。コマンドで言えば、net use で接続一覧を表示したときに、Local から Remote を取得する操作になります。
- リモートシェアに接続する方法
プログラムからネットワークシェア接続用のプロンプトを表示する方法です。 必要に応じてユーザーに接続を問い合わせることが出来ますので、本来接続できるはずのシェアにアクセスを試みたのに失敗して終わり、という事態をある程度避けられます。
HTTP API
WinHTTP API
|