C# でのネットワーク プログラミング

Muhammad Maisam Abbas 2024年2月16日
C# でのネットワーク プログラミング

このチュートリアルでは、.NET フレームワークによって提供される System.NET ライブラリを使用して、C# でネットワーク アプリケーションを作成する方法を示します。

C# でのネットワークプログラミング

.NET フレームワークの System.NET ライブラリは、C# でのネットワーク プログラミングのためのシンプルなフレームワークを提供します。

ネットワーク アプリケーションには 2 種類あります。 クライアントとサーバー。 クライアント アプリケーションは、サーバー アプリケーションにネットワーク経由でタスクを実行するよう要求し、サーバー アプリケーションはそのタスクを実行して、結果をクライアント アプリケーションに返します。

C# で System.NET 名前空間 を使用して、このクライアント サーバー アプリケーションをプログラムできます。 以下のURIの学習から始めましょう。

ユニフォーム リソース インジケーター

ネットワーキングでは、クライアントは均一なリソース インジケータまたは URI を使用して、必要なリソースのタイプを指定します。 URI はさまざまなフラグメントで構成されています。

  • スキーム識別子 - リクエストとレスポンスの通信プロトコルを識別します。
  • サーバー識別子 - DNS ホスト名または TCP アドレスは、インターネット上のサーバーを一意に識別します。
  • パス識別子 - サーバー上で要求した情報を見つけます。 クライアントからサーバーに情報を渡すオプションのクエリ文字列。

System.NET 名前空間の URI クラスは、C# で統一リソース識別子を作成します。 次のコード ブロックは、C# で URI クラスを使用する方法を示しています。

var resource = "http://webcode.me:80/";
var path = new Uri(resource);

Console.WriteLine("Port : " + path.Port);
Console.WriteLine("Hostname : " + path.Host);
Console.WriteLine("Path : " + path.LocalPath);
Console.WriteLine("Scheme : " + path.Scheme);

出力:

Port: 80
Hostname: webcode.me
Path: /
Scheme: http

上記のコードは string を受け取り、その stringURI に変換してから、新しく作成された URI のさまざまなフラグメントを出力します。 さらに、この URI クラスは、いくつかの検証を自動的に実行して、URI が正しい形式であることを確認します。

これらの検証は裏目に出て、URI 全体を壊してしまうことがあります。 UriCreationOptions.DangerousDisablePathAndQueryCanonicalizationtrue に設定することで、この効果を無効にすることもできます。

検証が無効になるため、Uri.Fragments プロパティを使用できません。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn