一対多のサーバーで接続している全てのクライアントにメッセージを送信するには?

解決


ジョイトイ  2005-02-03 17:47:59  No: 13021

皆様、はじめまして。Delphi6パーソナル始めたばっかりの初心者なのですが、チャットのようなものを作っております。

クライアントがサーバーにメッセージを送信して、サーバーが接続されている全てのクライアントに送信されてきたメッセージを返す仕組みにしたいのですが、サーバーが接続されている全てのクライアントにメッセージを返すやり方がわかりません。

皆様ご教授お願い致します。


にしの  2005-02-03 19:32:05  No: 13022

やり方は3種類。

1.ユニキャスト送信(1対1)を複数回
2.マルチキャスト送信(接続しているクライアントに対して送信)
3.ブロードキャスト送信(指定されたブロードキャストIPに対してクライアントがあろうがなかろうが送信)

2が良いかと思います。
Delphiで提供されているコンポーネントとしてはTIdIPMCastCastServer/TIdIPMCastCastClientです。
ただし、UDPでの実装のようで、TCP/IPでのコンポーネントはないようです。
# 動作未確認
勉強のため作るのでしたら、1の方法でまずは作ってみてはどうでしょう。

# 使用しているコンポーネントなどが解らないので大まかな説明になってしまいました。


ジョイトイ  2005-02-04 02:52:15  No: 13023

にしの様、素早いレスありがとぉございます。

1の方法にて案外簡単に出来ました(笑)まだ、2,3の方はよくわかりませんのでまた勉強して出直してきます。

プログラムとは、発想力なのですね。にしの様、本当に尊敬します。また何かあればご教授お願い致します。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加