Webサイトユーザーベースのインスタントメッセンジャープログラムをどのように作成しますか?
-
16-09-2019 - |
質問
MySpace/Facebookタイプのコミュニティにデザインが似たソーシャルネットワークサイトを持っています。ランプセットアップでPHP/MySQLを使用しています。
私はいつも、動作するAIMと同様のユーザーのPCに行く独自のインスタントメッセンジャーを持ちたいと思っていました
私のサイトでは、プログラムの官民主義者を卑劣にすることは、私のサイトのユーザーで構成され、その隣のユーザーの画像を表示することもできます。
私のサイトのプロフィールへの名前とリンク。
今、私はこれが可能であることを知っていますが、私がそれをしたくないのは、それが取るサーバーリソースです。だから私は尋ねています、
あなたがこれをするなら、あなたはそれについてどのように進みますか?
.exeプログラムをどの言語にしますか?
ユーザーを別のユーザーに接続させるためのある程度はありますか?
ヒント/アドバイス/提案は歓迎されます
解決
JabberのコアプロトコルであるXMPPを使用することをお勧めします。
これは、Google Talkなどの多くのWebサイトが使用するプロトコルです。
明らかにログを保持したい場合は、データベースが必要になります。純粋にリアルタイムの場合は、データベースを介してメッセージを保存する必要がない場合があります。
WebサイトにAjaxチャット機能が必要な場合は、オンラインで検索するだけで、オンラインで検索する必要があります。すべての目的チャットサーバーが必要な場合は、JabberまたはIRCを使用してください。
他のヒント
Java(およびXML)またはその他の言語を使用したSOAP(Simple Object Access Protocol)をコーディングするのは、はるかに簡単かつ高速です。
ピアツーピアチャットには、あらゆる種類のP2Pシステムと同じ落とし穴があり、それはほとんどの人がハードウェアファイアウォールの後ろに座っているということです。実際には、ファイアウォールのルールを変更する方法を知っている人はいません。
ただし、チャットサーバーをDBにヒットさせる必要はありません。最もシンプルなチャットプロトコルは、実際にはある種のプロキシに過ぎません。クライアントAはサーバーに接続し、クライアントBはサーバーに接続し、クライアントAからのメッセージはクライアントBに転送されます。非常に高速で、本当にシンプルで、多くのクライアントを処理できます(ここで数千人の話をしています。)。限られたメッセージキャッシュ(5〜10のメッセージなど)を実装することをお勧めします。これは、ランダムなメッセージがドロップされているときにチャットする2人を混乱させるものがほとんどないためです。いくつかのメッセージをキャッシュし、すべてのメッセージ...など、クライアントからACK信号を要求します。