- PR -

複数接続のソケットサーバー

1
投稿者投稿内容
たま
会議室デビュー日: 2005/04/25
投稿数: 4
投稿日時: 2005-04-25 15:21
VB.NET2003で複数(10台程度)のクライアントからの接続を持つソケットサーバーを作成したいと思っていますが、サンプルソフトなどを探しても1対1のものしか見つからずやり方が分からない状態です。
接続するクライアントとは個別に通信する必要があるため、IPアドレス、ポート番号を個別に設定します。
MSDNライブラリにある「非同期サーバーソケットの使用」を改造して複数接続が可能なサーバーソケットを容易に作成することはできないのでしょうか?
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-04-25 15:41
なぜ、「IPアドレス、ポート番号を個別に設定」するんですか?
たま
会議室デビュー日: 2005/04/25
投稿数: 4
投稿日時: 2005-04-25 16:04
返信ありがとうございます。

接続先に対して個別に制御するためです。
IPアドレスは各PCに指定するため、個別になります。(自動割り当てするための機器は使用しないため、自動取得は行いません)
同じポートを使用して接続した場合、サーバーからクライアントへデータを送信した場合、すべてのクライアントへデータを送信してしまうことになると思います。

VB6からの考え方で作成しようとしているのですが、.NETではこの辺のやり方が根本的に違うのでしょうか?

[ メッセージ編集済み 編集者: たま 編集日時 2005-04-25 16:05 ]
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-04-25 16:14
POPサーバ等に対して、普通はクライアントごとに違うポートで接続しませんよね。
だけど、接続するクライアントごとに異なる内容を送信していますよね。

って、そういう話じゃないんですか?
たま
会議室デビュー日: 2005/04/25
投稿数: 4
投稿日時: 2005-04-25 16:30
ソケット通信を使って各機器を制御するシステムを作成します。
例えば、ラジコンを制御してるような場合、CH1に対して前進、CH2に対して後進ような指示をだす場合、CH1のIPとポート番号を指定して前進という命令を送るものだと思います。
POPサーバーの原理はよく分かりませんが、TCP/IPを使ったソケット通信なんでしょうか。

VB6では、WinSockコントロールを使ってソケット通信を制御する場合、接続する台数分コントールを貼り付けたり、ActiveXにして台数分のタスクを作成していました。
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-04-25 16:34
そういう話ですか。

であれば、その通信に関してはクライアントとサーバが逆なのではないでしょうか。
きっと、機器がサーバで、制御側がクライアントなのではないかと思います。
たま
会議室デビュー日: 2005/04/25
投稿数: 4
投稿日時: 2005-04-25 16:48
たしかにサーバーとクライアントを逆にしても同じようにできますね。
そちらの方が簡単そうなので進めてみます。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)