• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javaandroidc++linuxc#objective-ccocoa誰得qtrubybathyscaphegamewindowspythonphpguic翻訳omegattwitterframeworkbtronarduinovb.net計画中(planning stage)directxpreviewertestゲームエンジンdom

ソケットを使ってクライアントサーバプログラムを作成するための C# ライブラリ


Commit MetaInfo

Révision85e8d2f89de56834111c67b7554311edb3870ef0 (tree)
l'heure2015-08-23 14:23:34
Auteurtsntsumi <tsntsumi@tsnt...>
Commitertsntsumi

Message de Log

mainpage.dox に UdpServer の説明を追加

Change Summary

Modification

--- a/doc/mainpage.dox
+++ b/doc/mainpage.dox
@@ -1,9 +1,10 @@
11 -*- Indented-Text -*-
22 /** @mainpage
33 @section overview 概要
4-SocketNet は、ソケットを使ってクライアントサーバプログラムを作成するための C# フレームワークです。
5-主に、サーバを作るための @link SocketNet.TcpServer @endlink クラスと、
6-クライアントで使用する @link SocketNet.TcpConnection @endlink クラスで構成されます。
4+@c SocketNet は、ソケットを使ってクライアントサーバプログラムを作成するための C# フレームワークです。
5+主に、TCP サーバを作るための @c SocketNet.TcpServer クラスと、
6+クライアントで使用する @c SocketNet.TcpConnection クラス、
7+および UDP サーバを作るための @c SocketNet.UdpServer クラスで構成されます。
78
89 @section license ライセンス
910
@@ -12,38 +13,56 @@ Lesser General Public License</a> バージョン 3 の元で配布していま
1213
1314 @section sample サンプルプログラム
1415
15-SocketNet を使用したサンプルプログラムを以下のプロジェクトで提供しています。
16+@c SocketNet を使用したサンプルプログラムを以下のプロジェクトで提供しています。
1617
1718 - SampleChatServer -- コンソールベースの簡単なチャットサーバ。
1819 - SampleChatGtkClient -- Gtk# ベースの簡単なチャットクライアント。
19-- SampleChatClient -- SampleChatSever と SampleChatClient の共通クラス。
20+- SampleChatClient -- @c SampleChatServer と @c SampleChatClient の共通クラス。
21+- SampleUdpChatGtkClient -- Gtk# ベースの簡単な UDP チャットクアプリケーション。
2022
2123 @subsection chatserver SampleChatServer
2224
23-SampleChatServer はターミナルから起動する CLI コマンドです。
25+@c SampleChatServer はターミナルから起動する CLI コマンドです。
2426 起動するとチャットクライアントからの接続を、ポート番号 50001 で待ち受けます。
2527 何かキーを入力すると終了します。
2628
2729 クライアントから接続があったり、メッセージを受信したりするとコンソールに表示します。
2830
29-メッセージが「/LIST」のときは、現在接続しているクライアントの IP アドレスを表示します。
31+メッセージが「 @c /LIST 」のときは、現在接続しているクライアントの IP アドレスを表示します。
3032
3133 @subsection chatclient SampleChatGtkClient
3234
33-SampleChatGtkClient は Gtk# ベースの GUI アプリケーションです。
34-起動したら SampleChatServer が実行されているパソコンの IP アドレスを入力して、
35-Connect ボタンで接続します。
35+@c SampleChatGtkClient は Gtk# ベースの GUI アプリケーションです。
36+起動したら @c SampleChatServer が実行されているパソコンの IP アドレスを入力して、
37+@c Connect ボタンで接続します。
3638
37-メッセージ入力エリアに文字を入力して Send ボタンをクリックすると、
39+メッセージ入力エリアに文字を入力して @c Send ボタンをクリックすると、
3840 サーバにその文字が送信されます。
3941 サーバから送り返されたメッセージは、メッセージ表示エリアに表示されます。
4042
41-切断は Disconnect ボタンをクリックします。
43+切断は @c Disconnect ボタンをクリックします。
44+
45+@subsection udpchatclient SampleUdpChatGtkClient
46+
47+@c SampleUdpChatGtkClient は Gtk# ベースの GUI アプリケーションです。
48+起動したら受信用のポート番号を入力し、開始ボタンをクリックします。
49+送信先のアドレスとして、もう一つの @c SampleUdpChatGtkClient が実行されているパソコンの
50+IP アドレスか、ブロードキャストアドレス、ローカルブロードキャストアドレスと、
51+ポート番号を入力します。
52+
53+メッセージ入力エリアに文字を入力して @c Send ボタンをクリックすると、
54+送信先のアプリケーションにその文字が送信されます。
55+ブロードキャストアドレスを指定した場合は、自分のメッセージ表示エリアにも表示されます。
56+
57+受信を停止するには @c Stop ボタンをクリックします。
4258
4359 @section usage 使用法
4460
61+@subsection tcpserverusage TcpServer の使用法
62+
4563 パケットの構造が、先頭 4 バイトにネットワークバイトオーダでペイロード長が格納されている場合は、
46-単に SocketNet.TcpServer のインスタンスを生成して Start() メソッドを呼び出します。
64+単に @c SocketNet.TcpServer のインスタンスを生成して
65+@c SocketNet.TcpServer.Start() メソッドを呼び出します。
4766
4867 @code
4968 var server = new TcpServer(IPAddress.Any, 50001, new Packet());
@@ -51,11 +70,11 @@ Connect ボタンで接続します。
5170 server.Start();
5271 @endcode
5372
54-上記のようにすることで、 server_DataReceived() がパケットを受信するごとに呼び出されます。
55-server_DataReceived() に受信したときの処理を書いてください。
73+上記のようにすることで、 @c server_DataReceived() がパケットを受信するごとに呼び出されます。
74+@c server_DataReceived() に受信したときの処理を書いてください。
5675
57-パケットの構造が複雑な場合は、 SocketNet.Packet クラスを継承して、
58-SocketNet.Packet.ObtainPayloadLength() をオーバライドします。
76+パケットの構造が複雑な場合は、 @c SocketNet.Packet クラスを継承して、
77+@c SocketNet.Packet.ObtainPayloadLength() をオーバライドします。
5978
6079 例えば、ヘッダが 5 バイト、フッタが 2 バイトで、ペイロードの長さがヘッダの 3 バイト目に格納されている場合は、
6180 以下のようになるでしょう。
@@ -72,4 +91,19 @@ SocketNet.Packet.ObtainPayloadLength() をオーバライドします。
7291 }
7392 @endcode
7493
94+@subsection udpserverusage UdpServer 使用法
95+
96+ブロードキャスト UDP サーバを作成する場合は、
97+@c SocketNet.UdpServer のインスタンスをファクトリメソッドで生成して
98+@c SocketNet.UdpServer.Start() メソッドを呼び出します。
99+
100+@code
101+ var server = UdpServer.CreateServer(50000);
102+ udpServer.DataReceived = udpServer_DataReceived;
103+ udpServer.Start();
104+@endcode
105+
106+以上のようにすると、 @c udpServer_DataReceived() がデータを受信するごとに呼び出されます。
107+@c udpServer_DataReceived() に受信したときの処理を書いてください。
108+
75109 */