問題タブ [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.
binary - socket.ioバイナリバッファの利点?
現在、チャットアプリで画像を送信するためにbase64
文字列を送信しています。socket.io 0.9
のようなデータをsocket.io 1.0,
サポートしているとドキュメントに記載されているものにアップグレードしました。私はバッファが何であるかについてほとんど知識がありませんが、うまくいくようです。Binary
Buffers
私にとっての利点は何ですか。生の文字列の代わりに、すべてのbase64
文字列を移動しBuffers
て送信しますか。バイナリ サポートは、大きなメッセージに対して何かスマートなことを行いますか?
socket.io - Socket.IO の切断と再接続後にイベント リスナーが応答しないのはなぜですか?
これは、公式ドキュメントの例の 1 つに基づいた、非常にシンプルな Socket.IO v1.0 アプリです。接続時に、サーバーは「ニュース」イベントを発行し、その後は何も起こりません。
クライアント側では、「ニュース」イベントの受信が警告され、それ以外は何も起こりません。
次のようにソケットを切断して再接続すると、サーバーとクライアントの両方の socket.io デバッグ ログに、送受信されている「ニュース」イベントが表示されます。ただし、警告ボックスは最初の接続でのみ表示され、切断後の 2 番目の接続では表示されません。
ただし、この回答(わずか 16 時間前に投稿されたもの)の推奨事項に従い、socket.io
代わりに API を使用すると、アラート ボックスが表示されます。
これが私の質問です。io
v1.0で登場したと思われるプロパティとは?切断/再接続 API は、ソケット インスタンスで直接使用できる切断/接続 APIとどのようにio
異なりますか?
html - socket.io 経由でキャンバス イメージを送信する
で利用できるようにBase64
画像を移動しようとしていますBuffers
Socket.io 1.0
要素を使用して画像を読み込みFileReader()
、サイズを変更しますCanvas
。
Canvas
はまだかなりサポートされていません.toBlob()
が、キャンバス/イメージをarraybuffer
ソケット経由で送信するより互換性のある方法があり、反対側のバッファを開いてキャンバス/イメージに戻すこともできます。
socket.io-1.0 - リスナー関数でエラーがスローされると、Socket.io クライアントが再接続します (エラーを表示せずに!)
リスナー関数でエラーをスローしたとき。
ソケットが再接続され、エラーは表示されません。代わりに、engine.io Transport クラスが「パーサー デコード エラー」をスローします。
この方法では、リスナー関数内のロジックを開発/デバッグできません。これに対する解決策/回避策はありますか?
node.js - セッション ストアからセッションを取得できません
私は、socket.io、express、およびセッション ストアを使用したセッションの使用に関する多くの例を読み、コピーして貼り付けました。sessionStore.get()
ただし、 (または)を呼び出すたびにsessionStore.load()
、返されるのは だけundefined
です。なんで?
これが私のコードです(簡略化):
session.MemoryStore
の代わりに も試してみましたがconnect-mongostore
、結果は同じでした。node_modules/express-session/session/memory.js
sessionStore のセッションを試してログアウトするように変更
しました。
セッションなど初心者ですので、よろしくお願いします。
更新: 2 つの異なるシステムとネットワークでコードを試しましたが、それでも同じ結果が得られます。