問題タブ [socket.io-1.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - socket.io 1.0 でルームのクライアント リストを取得する方法
socket.io 0.9 でこのコードを使用して、ルームのクライアント リストを取得できます。
socket.io 1.0 でこれを行うにはどうすればよいですか?
socket.io - 同じルームに複数回参加し、ルーム内のクライアント
クライアントが同じ部屋に複数回参加するために送信した場合に何が起こるかを理解しようとしています。これをテストして答えを見つけるために、最初に、同じクライアントが参加のために複数の送信を送信した後、部屋にあるクライアントの数を調べたいと思いました部屋ですが、wiki https://github.com/Automattic/socket.io/wiki/Roomsの部屋の章は古くなっています。「io.sockets.clients('room')」を使おうとすると、「Object # has no method 'clients'」というエラーが表示されます。
そこで、2 つの質問がありました。1. クライアントが同じ部屋に複数回参加しようとするとどうなりますか? 参加しようとするたびに、その部屋のエミットを受け取りますか? 2. ルームにいるクライアントを確認するにはどうすればよいですか?
私はsocket.io v1.0.2を使用しています
node.js - socket.io 1.0 でサーバーを閉じるにはどうすればよいですか?
これには重複がありますが、それらは以前のバージョンのライブラリ用です。コードが変更されたようです。
私は次のようにソケットをインスタンス化しています:
オブジェクトの他の場所には、close 関数があります。ソケットを閉じるために次のことを試しました。
コードベースには の出現がありますがdisconnect
、それらはクライアント向けのようです: (リンク)。close
基本的には同じです。または、私はそれを見ていません。
オブジェクトをデバッグして調べましたが、サーバーを閉じるものは見つかりませんでした。
新しいコードベースでソケット サーバーを閉じるにはどうすればよいですか? 統合テストのためにシャットダウンする必要があります (1 回目のテスト実行に合格し、2 回目の実行でEADDRINUSE
エラーが発生します)。after
モカの関数で実行できる閉じる関数を作成しようとしています。なしで実行すると、テストに合格します--watch
。失敗しているのは、複数の連続した実行だけです。
socket.io-1.0 - 新しい socket.io 1.0 クライアントが間違ったポートに接続しようとしている
私のウェブサイトと (nodejs + express + socket.io サーバー) を socket.io 0.9 から 1.0 にアップグレードしようとすると、すぐに問題が発生しました: socket.io クライアントが、socket.io サーバーがリッスンしている場所ではなく、prort に接続しようとしています。 、ただし、クライアントを使用しているWebページが実行されているポート上。言うまでもなく、socket.io 0.9 で何年も問題なくすべてが実行されています...
つまり、具体的には (すべてが localhost で実行されています): -- node.js サーバー:
-- index.html (別の node.js プロセスによってポート 80 で提供):
-- この Web ページを chrome で実行すると、chrome js コンソールにエラー メッセージが表示されます (メッセージは 1 秒ごとに繰り返されます)。
ご覧のとおり、socket.io クライアント ライブラリは同じポートでソケット サーバーに接続しようとしています。これは、web ページが websocket ポート (ポート 3000) を使用する代わりにポート 80 で実行されているためです。
繰り返しますが、socket.io バージョン 0.9 を使用して同一のコードを実行すると、すべてが機能します。
助けはありますか?
callback - socket.io で RPC を実行するには?
単純なエコー サーバーがあるとします (最初の要求で長くなるように調整されています)。
次に、index.html
クライアント スクリプトが次のことを行うとします。
whereaskEcho
は次のバグのある関数で、RPC スタブのふりをしています:
そして明らかに私が得るのは次の混乱です
同じイベントに 2 つのリスナーをインストールしたためです。これは簡単に回避できますが、サーバー側で (さらにプログラミングを) 助けを借りずに、クライアントで適切に順序付けされた応答を取得する方法が明確にわかりません。
これは少し負担が大きすぎるようです。askEcho
関数を正しく簡単にコーディングできませんか?
socket.io - Socket.IO 1.0 で特定の ID にメッセージを送信する
特定の 1 つのソケット ID にデータを送信したいと考えています。
以前のバージョンではこれを行うことができました:
Socket.IO 1.0 で同様のことを行うにはどうすればよいですか?
javascript - Node.js socket.io サーバーからブラウザクライアントにバイナリデータを送信する方法は?
私はSocket.IOのドキュメント全体を見てきましたが、そこにあると約束していますが、サーバー/クライアント間でバイナリデータを送信する方法の単純で最小限の例を見つけることができません.
それはどのように行われますか?
node.js - Socket.io 接続がポーリングに戻り、「接続」ハンドラが起動されない
エクスプレスで既存の node.js アプリに socket.io を追加しようとしています。次のように、サーバー側に socket.io ライブラリを追加しました ( http://socket.io/get-started/chat/の直後)。
現在、フロントエンドでは、単純に接続しています:
ただし、コンソールに「接続されたユーザー」を表示する代わりに、コンソールはポーリングの継続的なストリームをログに記録します。ウェブソケットをサポートする最新バージョンの Chrome on Mac を使用しています。
私は何か間違ったことをしているに違いない。私はこれにかなり慣れていないので、正しい方向に向けたいと思っています。この質問の一部について詳しく説明する必要がある場合はお知らせください。
ありがとう!- エドワード
===========
編集:
これが私が現在使用しているエクスプレス設定です。まったく新しいノードアプリで同じ手順を試してみたところ、うまく機能しているように見えたので、これが問題なのだろうかと思っています。
node.js - socket.io v0.9 と v1 は互換性がありますか?
socket.io v0.9 と v1 は互換性がありますか? v1 を実行しているクライアントは v0.9 を実行しているサーバーに接続できますか、またはその逆は可能ですか?