3

myspace / facebookタイプのコミュニティに似たデザインのソーシャルネットワークサイトがあり、LAMPセットアップでphp/mysqlを使用しています。
私はいつも、AIMと同様に機能するユーザーのPC上で動作する独自のインスタントメッセンジャーを持ちたいと思っていました。

私のサイトでは、プログラムのバディリストは私のサイトのユーザーで構成され、ユーザーの画像を横に表示することを意味します

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

これが可能であることはわかっていますが、やりたくないのはサーバーリソースです。だから私は尋ねています、

もしあなたがこれをするなら、あなたはそれについてどうしますか?

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

ユーザーを別のユーザーに接続させて、ユーザー間の各メッセージがmysql DBにヒットしないようにする方法はありますか?

ヒント/アドバイス/提案を歓迎します

4

3 に答える 3

5

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

于 2011-04-21T12:45:24.117 に答える
4

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

http://xmpp.org/

これは、GoogleTalkなどの多くのWebサイトで使用されているプロトコルです。

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

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

于 2009-08-14T02:54:07.303 に答える
1

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

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

于 2009-08-14T02:56:21.060 に答える