問題タブ [multiplexing]
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 で多重化を無効にする方法
私は Socket.io を使用して、Twitter のストリーミング API を使用してライブ ツイートをユーザーにストリーミングしています (私の実装は多かれ少なかれこのチュートリアルに基づいています)。
問題は、接続イベントが Socket.io によって起動されるたびに、新しく接続されたクライアントによって、サーバーに接続されている他のすべてのクライアントが更新を停止することです。私が試したすべてのハックを実行するには時間がかかりすぎますが、問題は Socket.io による複数のクライアント (デフォルトで有効) からの接続の多重化が複数のクライアントまたは接続が同じ基礎となるソケットを共有できるようにするためのパフォーマンスの向上。要するに、接続の多重化がなければ、新しい接続がこのように古い接続に影響を与える可能性はないと思うので、これが当てはまると思います。つまり、新品であれば、独自の基礎となる (TCP) ソケットとの独立した接続は、クライアントが接続するたびに作成されました。一方の接続は他方の接続について何も知らず、現在発生している他のクライアントの状態に影響を与えることができないため、これが発生することは不可能です。これはまた、多重化機能を単に無効にすることが、この問題を回避する最も簡単な方法であると信じさせます。なぜなら、Node.js は、非常に適切に処理する必要がある可能性が高いすべての同時実行性を既に処理しているため、スケーリングについて心配していないからです。
私は Socket.io のドキュメントを調べましたが、接続を "逆多重化" する機能が API を介して公開されている場所を確認できませんでした。
以下の私のコードはかなり標準的でシンプルです。ただし、明確にするために、問題は、新しいクライアントが Socket.io に接続するたびに、他のすべてのクライアントが新しいツイートの受信を停止し、ブラウザーを更新しない限り更新が古いクライアントにプッシュされなくなることです。その場合、新しく更新されたクライアントが開始されます。更新して新しいツイートを再度受信しますが、まだ接続されている他のクライアントは更新を停止します。
サーバー側コード:
クライアント側コード
私がこれを間違って考えている場合、またはコードに何か問題がある場合は、どんな提案も歓迎します。また、追加の詳細があれば返信させていただきます。
c - C-ポーリングを使用してソケットとstdinを多重化する-サーバー
私はクライアントサーバーアプリケーションを作成しており、pollを使用して複数のクライアントソケットとstdinの間で多重化しており、コマンドを挿入できます(例:サーバーを停止します)。私のコードの構造(「ロジック」)は正しいと思いますが、期待どおりに動作していません。
コードを読みやすくするために、recvとsend内のコードをいくつか削除しました。動作に失敗します(ハングするか、接続を受け入れないか、stdinからの入力に反応します)。
注:選択よりもポーリングを使用したいので、選択をポイントしないでください:-)。
よろしくお願いします。
c++ - ソケットを介したデータの多重化
基本的に、同じソケットから2〜3個のファイル転送を試みていますが、それらすべてを同時に転送し、クライアント/サーバーに送り返されるメッセージを中断しないようにしています。
2 人のチャット プログラムで 3 つのファイル転送が発生する場合と同様です。
2 つ以上のストリームを開かないようにしています。
すべてが非同期で行われるようにしたいのですが、それでも 3 つのファイルすべてを同時に話し、転送します。次々ではありません。
私のプロトコルはどのように見えますか? 私はこれについて考えることができません。
verilog - Basys2 での 7 セグメントの多重化
これは私の最初の投稿なので、これが正しく行われていることを願っています。BASYS2 ボードの 4 桁の 7 セグメント ディスプレイに「4 3 2 1」を出力しようとしています。0 が信号を有効にし、ポートが正しくマッピングされていることを確認しました。1 桁しか表示できないため、エラーは多重化ロジック内にあると考えられます。私は Verilog が初めてで (C に慣れています)、何か提案をいただければ幸いです。ありがとう
c - select()のUDPソケットの使用
こんにちは私はUDP接続でクライアントからのパケットを待機し、それらすべてが効果的に到着したか、またはそれらの同じものが拒否されたかどうかをチェックするプロキシサーバーを作成しています。
その場合、失われたパケットごとに(send_ack()を使用して)クライアントに「ack」を送信する必要がありますが、最初のackを送信した直後に、selectループの「ifpart」が無制限のackを送信して「else」に戻ることはありません。一部」は、クライアントからの選択されたリッスンデータでした(_pkt()関数を受信します)
アドバイスをありがとう、それが十分に明確であることを願っています!
nested - Netty のネストされたパイプライン / 多重化
私は Netty を初めて使用しますが、複数のプロトコル (P1 と P2 など) が別のプロトコル内にカプセル化されている場合、Netty 4.x でケースを実装するにはどうすればよいでしょうか?
decoder<->encoder<->muxer<->demuxer
デマルチプレクサの決定に基づいて、メイン パイプラインが P1 または P2 パイプラインに沿ってデータを送信するように、ネストされたパイプラインを作成する方法はありますか?
または、独自のパイプラインを持つ「サブチャネル」を(明確にするために)何らかの方法で作成する方法があるでしょうか?
c - ファイルサイズが大きくなったときに複数のファイルを読み取るための多重化 I/O を行うにはどうすればよいですか?
ネットワーク共有ファイル システム (NFS) 上には多くのファイルが生成されます。適切な解決策のない同様の質問があります: inotify with NFS。
select() を使用して、ファイルに新しいデータが読み取れるかどうかをテストします。(実際、一部はソケット記述子から来ていますが、ここでは簡略化しています)。
しかし、ファイルの最後までファイルを見つけても、まだ読み取り可能な状態に戻ります。
このコードを書くためのより良い方法を提案できますか?
f1 と f2 に 3 バイトが含まれている場合、出力は次のようになります。
pic - Cを使用してPIC16F877Aを使用して7セグメントを多重化
ここで質問したのは2回目です。前回は非常に役に立ちましたので、別の C プロジェクトで立ち往生しているので、再訪しようと思いました!
私は多かれ少なかれCで合計n00bですが、最小限の助けでこれを試みるのに十分なことを知っていることを付け加えます(今まで!)そして、私は誰かに私のためにこれをするように頼んでいません。正しい方向へのポインター (しゃれた意図はありません)。
このトピックについてかなりのグーグル検索を行いましたが、オンラインソースからコードをコピーして貼り付けないように最善を尽くしているので、このソースから学びたいので、自分でコードを開発しようとしています.
次にやろうとしていること: '877A の PORTD に接続された 2 つのコモン カソード 7 セグメント ディスプレイを備えた PIC 開発ボードを自作しました。RB0 と RB1 を 7 セグをオンにするトランジスタに接続し、簡単なコードですべてをテストしましたが、正常に動作するため、回路にまったく問題はありません。私は非常に基本的な 0 から 9 までカウントするプログラムを作成することができたので、多重化と 0 から 99 までのカウントを試してみることにしました。私はいくつかのコードを書き、それを以下に投稿しました。私が間違っていることを誰かに親切に指摘してもらいたいです。これまでのところ、単位の桁数は 0 ~ 9 ですが、10 の桁は 0 のままのようです。
何かを忘れているような気がしますが、何がわかりません。私はおそらくそれを少し複雑にしすぎています。
PICのADCへのサーミスタ分圧回路の入力を使用して温度センサーとして機能するプログラムを作成し(これは私の実際のプロジェクトです)、多重化されたディスプレイに値を表示しようとしています。は実際にはプロジェクトの一部ではありません (「2」と「5」、「25C」の場合は「C」などを交互に使用する 1 桁のみを使用することになっています) が、もう少し進めたいので、「改良版のためにこれを開発しようとしています。
とにかく、コードを貼り付けて、誰かが助けてくれることを願っています。
追加するのを忘れた場合は、お知らせください。助けてくれてありがとう!
multiplexing - 時分割多重の概念
8Kbps
私は時分割多重化の概念を研究してきましたが、いくつかのことを理解できませんでし128ms
た.フレームの長さが1/8000
を与える別のドキュメントでは128µs
、私は本当に混乱していExplain Time Division in terms of sources and their bit rates
ます。これらすべてについて助けてください。別の人の視点から見ることができるように、概念の少しの説明も良いでしょう。ありがとう...