問題タブ [channels]
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.
c# - .NETRemotingスイッチングチャネル自体
.NETRemotingで奇妙な問題が発生しています。基本的に、2つのTcpChannelを登録するサーバーがありますChannelServices.RegisterChannel()
。
- 1つはポート50000でリッスンします
- もう1つは、ポート15000でリッスンします。
次に、サーバーと通信できるようにTcpChannelを登録するクライアントがあります。Activator.GetObject()
URIを使用して呼び出すことにより、サーバーからオブジェクトを取得します
"tcp:// serverip:50000 / objectname"
これは正常に機能し、クライアントはポート50000でサーバーに接続し、オブジェクトを取得します。
ただし、そのオブジェクトでメソッドの呼び出しを開始すると、ポート50000のチャネルへの接続が切断され、ポート15000のチャネルへの新しい接続が自動的に確立されます。ポート15000のトラフィックがサーバーのポート50000チャネルと同じネットワークアダプタにバインドされていないか、ファイアウォールでそのポートが開いていない可能性があるため、これは私たちにとって実際の問題を引き起こします。リモーティングは自然に失敗するように呼びかけます。
クライアントは、ポート15000のサーバーに別のチャネルが存在することや、どのIPをリッスンしているのかをコードで認識していないため、これは非常に奇妙ですが、クライアントはそれに接続しようとします。
これに関する助けは大歓迎です、
ありがとう、キャスパー
これは、サーバーチャネルの1つ、通常はポート50000にあるチャネルを設定するコードです。
これは、通常はポート15000で他のサーバーチャネルを設定するコードです。
これは、最初のサーバーチャネル(通常はポート50000にあるチャネル)に接続するクライアントのコードです。
ruby - Ruby の Go チャネル
Go プログラミング言語では、「チャネル」と呼ばれる構造を使用してメッセージを送信できます。 http://golang.org/doc/effective_go.html#channels
私はRubyで、特にIPCのために、そのようなものを使いたいと思っています。
私が欲しいものの疑似コード:
そのように動作するRubyのコンストラクト、ライブラリ、または同等のものはありますか?
そうでない場合: そのような抽象化を構築する最善の方法は何ですか?
更新:これらのチャネルから必要なものを明確にするため。
ユース ケースの 1 つ: フォークされた一部のワーカーがジョブを待っています。それらはすべて同じ JobChannel から読み取り、結果を同じ ResultChannel に報告します。
必要なチャンネル
- 非常に高速で、
- 書き込みはブロックされません(メッセージ送信)
- reads do block (メッセージ受信)
- フォークする前に特別な処理は必要ありません。
- 軽くてシンプルなところがいいです。
これまでのところ、私は遊んでいました
- DRb、(私の小さな脳には軽量+遅い+魔法が多すぎるの反対)
- ソケット(UNIXSocket、TCPSocket ... ソケットにはさまざまな使用方法があるようです。UNIXSockets で半分しか機能しないチャネルを取得しました。ソケットが理にかなっているとお考えの場合は、機能のどのサブセットを見ればよいでしょうか?)
- パイプ。(2つ以上のプロセスを接続することは自明ではないようです)
それらのいずれかがすでに私の問題に最適なテクノロジである場合は、私の要件に焦点を当てた情報を含むチュートリアルなどを提供してください。
youtube - YouTubeチャンネルのすべての動画を表示するにはどうすればよいですか?
YouTubeチャンネルですべての動画を取得したい。それを行う方法はありますか?ページ付けを使用できますが、ページ付けが表示されません(ajaxを使用できません)。PHPでURLを取得できます。
go - ゴルーチンを止める方法
メソッドを呼び出し、チャネルに戻り値を渡すゴルーチンがあります。
どうすればそのようなゴルーチンを止めることができますか?
field - Expression Engineのチャネル、カテゴリ、およびエントリ-すべて異なるカスタムフィールドがあります
トップナビゲーションにこれらのセクションがあるサイトがあります。
- 私たちに関しては
- ニュース
- スタッフ
- 会員になる
各トップナビゲーションアイテム内には、X個のサブセクションがあります。例えば:
私たちに関しては
- 私たちは誰ですか
- 業界統計
- 年次報告
次に、それらのそれぞれの中にX個のサブページがあります。
私たちに関しては
- 私たちは誰ですか
- 概要
- 私たちの歴史
- 私たちの目的
ルートレベルのトップナビゲーションアイテム(About Us)には、常に同じカスタムフィールドが必要です。中間レベルと最下位レベルのページのコンテンツは通常同じですが、ルートレベルのページとは大きく異なるため、異なるカスタムフィールドのセットが必要になります。
ルートアイテムがチャネル、中央がカテゴリ、下位レベルが単なる「エントリ」になるように構造を設定しました。
私の今の問題は、ルートチャネルで「チャネルフィールドグループ」を使用すると、関連するすべてのカテゴリとエントリが明らかにフィルタリングされることです。そのため、カテゴリのランディングページまたはエントリページを編集または公開しようとすると、ルートランディングページのカスタムフィールドグループが表示されて行き詰まります。
エンドユーザー(私のクライアント)がルートチャネルレベルではないページを編集または公開するときに、多くのカスタムフィールドを表示する必要がないようにしたいと思います。
同じチャネル内の異なるページで異なるフィールドグループを選択できるように、このサイトを設定するにはどうすればよいですか?
java - ByteBufferを使用したチャネルでのI/O操作-パフォーマンスの比較
を使用してチャネルのI/O操作を実行したいByteBuffer
。最後に、私は3つの解決策を思いつきました。
方法1:使用するhasRemaining()
方法2:使用するcompact()
方法3:ハイブリッドモデル
問題は、どの方法が最もパフォーマンスとスループットが高いかということです。
io - Netty: あるチャンネルの出力を別のチャンネルの入力にパイプする
ネティグル、
あるチャンネルの入力を別のチャンネルの出力に接続するためのショートカット/Netty-Utility/スマートトリックがあるかどうか疑問に思っていました。詳細については、次の点を考慮してください。
- Netty (http) サーバーのセットアップ
- 着信MessageEventのChannelBuffer を取得します
- そして、その入力をNettyClient- ChannelBuffer (NettyServer の行に沿って設定する必要があります)にパイプします。
箇条書き 3を達成する方法に興味があります。
// mock messageReceived(ChannelHandlerContext ctx, MessageEvent e):
ChannelBuffer bufIn = (ChannelBuffer) e.getMessage();という行に沿って最初に考えたことからです。
ChannelBuffer bufOut = getClientChannelBuffer();// 別の場所に設定
bufOut.write(bufIn);
A. messageReceived-Event ごとにターゲット ChannelBuffer を決定する必要があるため、私には厄介に思えます
。 B. 低レベルのいじくり回し
私の願い/ビジョンは、接続
--> 1 つのチャネルの入力
--> 他のチャネルの出力に接続し、
追加のコーディングなしで I/O を実行できるようにすることです。
よろしくお願いします!
PS: 入力内容 (最初の HTTP 要求行に基づくマッピング) に応じて、さまざまな HTTP 要求をサーバー (1 つのエントリ ポイント) にディスパッチしようとしているときに問題が発生しました。明らかに、クライアントをサーバーにパイプバックする逆のトリックも実行する必要がありますが、前の質問の解決策と同様になると思います。
node.js - node.js と redis のプライベート チャネル。方法?
redisのチャンネルを購読するための簡単なスクリプト(app.js)を書きました
今、私は各ユーザーのプライベートチャンネルにサブスクライブできるようにしたいと考えています。
次のように、socket.io.connect を介して追加のデータを渡そうとしました。
そしてapp.jsで
しかし、それは機能しません。
個室の問題を解決する方法はありますか?
ありがとう。
expressionengine - 式エンジン関連のエントリのドロップダウン値
私は2つのチャンネルを持っています。チャンネル 2 には、チャンネル 1 に関連するドロップダウン選択ボックスがあります。両方のチャンネルに関するすべての情報を 1 つのページに表示したい:
値ではなく {tag_from_channel1} から ID を取得しています。ID の代わりに値を表示するにはどうすればよいですか?
java - Netty:チャネルを閉じるときにClosedChannelExceptionが発生する
チャネルを閉じようとすると、ChannelClosedExceptionがスローされるのはなぜですか?Channel.close()で閉じる、例外のスタックトレース: