🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

Q&A

解決済

1回答

961閲覧

node.jsのsocket ioでチャットを作っているのですが、不具合が発生して困っています。

kuratattttt

総合スコア11

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

0グッド

0クリップ

投稿2020/11/27 06:13

node.jsのsocket ioでチャットを作っているのですが、不具合が発生して困っています。

node.jsのsocket ioでチャットを作っています。困っていることが同じネットワーク内の2台以上のデバイスからチャットのURLにアクセスしメッセージを入力すると1つメッセージを送ったつもりが同じ内容のメッセージを勝手に複製してしまう不具合が発生しています。
1台だけで接続すると問題なく使用できるのですが、複数台でアクセスすると上記のような不具合が発生してしまいます。原因が分からないのでアドバイスいただきたいです。宜しくお願いします

補足情報(FW/ツールのバージョンなど)

下記のURLを参考に作成しました。
https://qiita.com/riku-shiru/items/ffba3448f3aff152b6c1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

メッセージを勝手に複製

メッセージが接続中の全クライアントにメッセージ送信されるということでしょうか。

通信には、双方向通信、ブロードキャスト送信、個別送信など、様々な種類があります
(後述の、@IT の記事は体系的に要点を記述されており、参考になるはずです)

下記のURLを参考に

参照先が少なすぎます。

  1. MDN(リファレンスサイト)(WebSocket APIで関連するすべてのリンク先もチェック)
  2. IT系雑誌のようなメディアをウェブサイトで実現した記事(@IT チャットアプリ開発に見る、Socket.IOの基本ライブラリの使い方 など)

原因が分からない

何かに挑戦してみようという時に使う技術の全体を把握できていないまま手探りでやっているのが原因ですね(挑戦自体は決して悪いことではありません)。
この作業の進め方は、知り得た知識を応用しようとしたときに、未知の事も多いため手詰まりになりやすいのが実際です。
一度は「体系的に学べる記事に触れておく」のが良いと思います。

投稿2020/11/29 07:06

AkitoshiManabe

総合スコア5434

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kuratattttt

2020/12/01 06:41

ありがとうございます! アドバイスいただいた通り体系的に学んでみた結果自己解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問