Webサイトユーザーベースのインスタントメッセンジャープログラムをどのように作成しますか?

StackOverflow https://stackoverflow.com/questions/1275801

  •  16-09-2019
  •  | 
  •  

質問

MySpace/Facebookタイプのコミュニティにデザインが似たソーシャルネットワークサイトを持っています。ランプセットアップでPHP/MySQLを使用しています。
私はいつも、動作するAIMと同様のユーザーのPCに行く独自のインスタントメッセンジャーを持ちたいと思っていました

私のサイトでは、プログラムの官民主義者を卑劣にすることは、私のサイトのユーザーで構成され、その隣のユーザーの画像を表示することもできます。

私のサイトのプロフィールへの名前とリンク。

今、私はこれが可能であることを知っていますが、私がそれをしたくないのは、それが取るサーバーリソースです。だから私は尋ねています、

あなたがこれをするなら、あなたはそれについてどのように進みますか?

.exeプログラムをどの言語にしますか?

ユーザーを別のユーザーに接続させるためのある程度はありますか?

ヒント/アドバイス/提案は歓迎されます

役に立ちましたか?

解決

JabberのコアプロトコルであるXMPPを使用することをお勧めします。

http://xmpp.org/

これは、Google Talkなどの多くのWebサイトが使用するプロトコルです。

明らかにログを保持したい場合は、データベースが必要になります。純粋にリアルタイムの場合は、データベースを介してメッセージを保存する必要がない場合があります。

WebサイトにAjaxチャット機能が必要な場合は、オンラインで検索するだけで、オンラインで検索する必要があります。すべての目的チャットサーバーが必要な場合は、JabberまたはIRCを使用してください。

他のヒント

Java(およびXML)またはその他の言語を使用したSOAP(Simple Object Access Protocol)をコーディングするのは、はるかに簡単かつ高速です。

ピアツーピアチャットには、あらゆる種類のP2Pシステムと同じ落とし穴があり、それはほとんどの人がハードウェアファイアウォールの後ろに座っているということです。実際には、ファイアウォールのルールを変更する方法を知っている人はいません。

ただし、チャットサーバーをDBにヒットさせる必要はありません。最もシンプルなチャットプロトコルは、実際にはある種のプロキシに過ぎません。クライアントAはサーバーに接続し、クライアントBはサーバーに接続し、クライアントAからのメッセージはクライアントBに転送されます。非常に高速で、本当にシンプルで、多くのクライアントを処理できます(ここで数千人の話をしています。)。限られたメッセージキャッシュ(5〜10のメッセージなど)を実装することをお勧めします。これは、ランダムなメッセージがドロップされているときにチャットする2人を混乱させるものがほとんどないためです。いくつかのメッセージをキャッシュし、すべてのメッセージ...など、クライアントからACK信号を要求します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top