JavaScript - Web ページでのインスタント メッセージ機能の作成について質問しますか? ?
typecho
typecho 2017-06-28 09:22:36
0
2
715

質問: Web サイトのトップページに QQ チャット インターフェースのような機能を作りたいのですが、複雑な機能は必要ありません。ユーザーのアバターと送信されたコンテンツを表示するだけで済みます。チャットを録音します。最新の 20 レコードをリアルタイムに表示するだけですか?

個人的なアイデア: 機能は比較的シンプルでそれほど複雑ではなく、表示内容も最新の 20 件だけでよいので、AJAX ポーリング方式を使用して実行する予定です。ユーザーがチャット レコードを入力すると、レコードが表示されます。データベース(AJAXポーリングでデータベースのデータをリアルタイムに読み込みます)を実行し、データを取得後ページに表示します。こんなことをしても大丈夫ですか?複数人でチャットする場合に問題はありますか?たとえば、ページにデータが表示されると、非常に遅くなりますか?

Websoket を使用してこれを行うことができますが、私はそれを使用したことがなく、Windows サーバーで使用できるかどうかわかりません (プロジェクトは Windows にデプロイされています)。

ここで質問が来ます: 何か良い簡単な方法はありますか?アドバイスをください! ! ! !

typecho
typecho

Following the voice in heart.

全員に返信(2)
为情所困

websocket或者socket.io就可以实现了, 这个和操作平台关系不是很大, 和你实现的web服务程序关系比较大, 因为你得选择一个一个web程序支持websocket或者socket.io. 我之前用node.js` が実装されており、オンラインの例も参照しています。
Node.js + Web Socket を参照してインスタント チャット プログラム HiChat

を作成することもできます。
いいねを押す +0
小葫芦

AJAX ポーリングでは、複数の人がチャットしている場合、各端末は継続的にデータベース データを要求する必要があるため、次のような欠点があります。

  1. リクエストの数が多いため、サーバーの負荷が増加します。

  2. AJAX ポーリング自体が遅い

  3. ブラウザには同じドメイン名の下での AJAX リクエストの数に制限があるため、データ対話の効率は依然として非常に低いです。

WebSocket を使用する場合は、移植性、拡張性、互換性の点で非常に優れたものを作成するために nodeJSws做一个广播服务,可以挂起在Windows后台,也可以随意移植,相当方便,用到的库是这个:https://www.npmjs.com/package/ws
不得不说,NodeJS を使用することをお勧めします。

具体的な操作については説明しませんので、ws包的broadcase exampleサンプルを参照して記述してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート