13,009
回編集
(→概要) |
|||
| 30行目: | 30行目: | ||
== サンプルコード == | == サンプルコード == | ||
<syntaxhighlight lang=" | 以下の例では、TcpClientクラスを使用して、サーバに接続およびメッセージを送信して応答を受信している。<br> | ||
<br> | |||
<syntaxhighlight lang="c#"> | |||
using System; | |||
using System.Text; | |||
using System.IO; | |||
using System.Net.Sockets; | |||
class TcpClientExample | |||
{ | { | ||
static void Main() | |||
{ | |||
string server = "<ホスト名またはIPアドレス>"; // サーバのアドレス | |||
int port = <ポート番号>; // ポート番号 | |||
try | |||
{ | |||
using (TcpClient client = new TcpClient(server, port)) | |||
{ | |||
Console.WriteLine("サーバに接続"); | |||
using (NetworkStream stream = client.GetStream()) | |||
{ | |||
// サーバにメッセージを送信 | |||
string message = "Hello, Server"; | |||
byte[] data = Encoding.UTF8.GetBytes(message); | |||
stream.Write(data, 0, data.Length); | |||
Console.WriteLine($"送信メッセージ: {message}"); | |||
// サーバーからの応答を受信 | |||
data = new byte[256]; | |||
int bytes = stream.Read(data, 0, data.Length); | |||
string responseData = Encoding.UTF8.GetString(data, 0, bytes); | |||
Console.WriteLine($"受信メッセージ: {responseData}"); | |||
} | |||
} | |||
} | |||
catch (ArgumentNullException e) | |||
{ // 無効な引数が渡された場合 | |||
Console.WriteLine($"ArgumentNullException: {e.Message}"); | |||
} | |||
catch (SocketException e) | |||
{ // ネットワーク関連のエラーが発生した場合 | |||
Console.WriteLine($"SocketException: {e.Message}"); | |||
} | |||
catch (IOException e) | |||
{ // ストリームの読み書き中にエラーが発生した場合 | |||
Console.WriteLine($"IOException: {e.Message}"); | |||
} | |||
catch (Exception e) | |||
{ // その他の予期せぬエラーが発生した場合 | |||
Console.WriteLine($"予期せぬエラーが発生しました: {e.Message}"); | |||
} | } | ||
} | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||