検索

ホームページ  >  に質問  >  本文

JavaScript - Web ページでのインスタント メッセージ機能の作成について質問しますか? ?

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

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

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

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

typechotypecho2697日前683

全員に返信(2)返信します

  • 为情所困

    为情所困2017-06-28 09:24:36

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

    を作成することもできます。

    返事
    0
  • 高洛峰

    高洛峰2017-06-28 09:24:36

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

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

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

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

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

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

    返事
    0
  • キャンセル返事