問題タブ [bridge]
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.
python - Python の汎用ブリッジ フレームワーク
任意の API へのブリッジを簡単に構築できる Python フレームワークはありますか?
このコンテキストでの「ブリッジ」とは、簡単に言うと、JSON API を公開している Web サイトまたはサービスのことです。JSON ではなく、明確に定義された Python オブジェクトを API から取得したいと考えています。
「ブリッジ」パターンは、いくつかの非常に単純なコンポーネントで構成されているように思えます。
リクエスト/認証処理
API エンドポイントに一致するモデル定義
JSON からモデルへの変換
ブリッジを作成したいすべての API に対してこのパターンをゼロから再作成するのではなく、単にモデル定義と必要な API のカスタマイズを必要とする汎用の「ブリッジ」フレームワークを使用する方が賢明なようです。使用する。Django に似ていますが、Web アプリの代わりにブリッジ ライブラリを構築するためのものです。
そのようなことを知っている人はいますか?
python - Python のメッセージング システムの正しい継承構造 (ブリッジ パターンで可能)
ZeroMQ と RabbitMQ の両方を使用できるメッセージング システムを開発しようとしています (activeMQ のようなものも可能です)。
そこで、次のように考えました。
メッセージング システムのコンポーネントは、送信者または受信者のいずれかになります。両方ともいくつかのアドレスを持っているので、一般化する必要があります。そこで、AbstractReceiver と AbstractSender という 2 つの洗練された抽象化を使用して、AbstractMessagingNode を作成しました。
そして、最初はrabbitmqだけで作業していました。そのため、さらに 2 つの洗練された抽象化を作成しました (基本的に、それらは具体的な実装と考えてください)。
等...
zmq をそこに貼り付けようとするまで、これはすべてうまく機能していました。
問題は、zmqnode も送信者または受信者のいずれかになる可能性があることです (私の場合)。ただし、受信者と送信者の両方に共通のメソッドとフィールドが必要です。私はこのクラスでそれを捉えようとしました
しかし、その場合、AbstractZmqSender と AbstractZmqReceiver も必要であり、それは良くないため、コードの重複に問題が生じます。
ブリッジパターンについて考えていますが、どこから始めればよいかわかりません。ブリッジパターンのすべての例では、抽象化は単なるインターフェースですが、私の場合はいくつかのデータフィールドがあるためです。
私はあなたの助けと提案を受け入れています。
networking - コンピュータ ネットワークのブリッジ間の相互接続
以下の図で、ブリッジ間の接続がホストなしでどのように行われるか教えてもらえますか? ブリッジ B3 と B5 のそれぞれポート 4 とポート 3 で接続がどのように行われるかについて、私は混乱しています。問題は、スパニング ツリーを構築することです。
助けてください。
api - 特定の状況でのアダプターまたはブリッジ?
さて、私はライブラリを作成していますが、そのライブラリは他のすべてのライブラリを取り、それらを「同様に」機能させる必要があります。
例: 私が 5 つのライブラリを持っていて、そのすべてのライブラリが同じアイデアを持ち、同じケースで動作すると想像してください。 API。
私の考えは、ユーザーが作成するさまざまなライブラリを選択できるファクトリ内に「信頼リスト」を備えた「ファクトリ」を作成し、「ファクトリ」が「信頼リスト」を見て、ライブラリが本当に存在する場合、ライブラリを作成して返します。
ただし、インターフェイスを使用して作成することもできます。この場合、指定されたインターフェイスを実装するクラスのみを受け入れることができ、必要なメソッドの実装のセキュリティを確保できます。これはどういう意味ですか? すべてのライブラリは、そのインターフェイスを実装し、メソッドを実装し、ライブラリへの一種のラッパーを作成する必要があります。そうすれば、同じ API で動作します。ユーザーはファクトリを使用してライブラリを作成し、それらすべてに対して同じ API を使用できます。
私が説明しようとしていることが理解できるかどうかわかりませんが、私が言ったことに基づいて、「ブリッジ」パターンと「アダプター」パターンのどちらが私の状況に最適かを知りたいです。
また、私の考えは正しいですか、それとも私は狂っていますか? (インターフェースと工場のこと、そしてブリッジとアダプターも、あなたが何を考えているか教えてください)。
よろしくお願いします。
java - Java 出力をブラウザにリアルタイムで表示する
PHP から Java クラス ファイルを呼び出し、(進行状況を示す) テキスト出力をリアルタイムでユーザーのブラウザーに表示したいと考えています。、およびPHP 関数は機能せず、php/java ブリッジはやり過ぎのようですpassthru()
。以下のコード (非常に単純化されていますが自己完結型) は、表向きは Java 出力ストリームをリアルタイムで返す関数が、この場合どのように機能しないかを示しています。以下のコードでは、java への呼び出しが完了すると、テキスト ストリームがブラウザにのみ表示されます。つまり、リアルタイムの進行状況の更新はありません。echo()
system()
passthru()
私はこの解決策を試しましたが、スタックオーバーフローで提案されたような他の人は役に立ちませんでした。
コマンドがまだ実行されている間に php exec() から結果を取得しますか?
何を提案しますか?
index.html:
innerpage.php:
timer.java:
asterisk - アスタリスク: アウトバウンド コールを作成し、現在アクティブなインバウンド チャネルとブリッジします
アスタリスクを使用して CAll-Center を作成しています。全体のプロセスは次のとおりです。
- 外部からコール センターへのコール: すべてのコールがキューに入れられ、それぞれが利用可能なエージェントに接続されます。
- エージェントから、インバウンド コールを保留にし、アウトバウンド コールを作成します。
- 次に、インバウンド チャネルとアウトバウンド チャネルをブリッジします。その時点で、発信者 (インバウンド チャネル)、エージェント、および呼び出し先 (アウトバウンド チャネル) が相互に通信できます。
- 次に、エージェントは会議から出て、発信者と着信者が通信を開始できるようにします。私を助けてください!
どうもありがとうございました!
java - Openshift を使用して PHP/Java ブリッジ用の .war をデプロイすると、「Uncaught Could not connect」エラーが発生する
問題: Openshift を使用して PHP/Java ブリッジ用の .war をデプロイすると、「接続できませんでした」というエラーが表示
される 以下に、このエラーに到達するまでに行ったすべての手順について説明します。
完全なエラー: (IP は隠蔽)
"致命的なエラー: Uncaught Could not connect to the JEE server WXYZ:8080.Please start it. Or define('JAVA_HOSTS',9267); define('JAVA_SERVLET',false); before include 'Javaエラー メッセージ: 989 行目の /home/stevenw1/public_html/softwareProject/real/inc/Java.inc で接続が拒否されました (111) がスローされました"
プレイヤー: "Java_Bridge.war" = PHP がメソッドを呼び出すために使用する Java .war ファイル
"WXYZ" = デプロイされた .war ファイルの変更されない IP アドレス"GUIProfile" =
"tomcattest.php" = テスト ファイルとして
の Java クラスGUIProfile の静的メソッド「validate」を呼び出す@WebServlet("/GUIProfile")
public class GUIProfile extends HttpServlet
デプロイされた Java_Bridge.war と tomcattest.php は、ローカルの tomcat では正常に動作しますが、Openshift ではまだ動作しません。
シナリオ: 0.
Openshift 2012 Java tomcat アプリケーション
の
コマンド ライン手順に従い
ました。 1. Openshift の rhc を使用して、" "を使用して最初のアプリを作成しました
。 2.
3.
// 注目すべき出力には以下が含まれます
。 386662 ...
リモート: pom.xml が存在しないため、Maven ビルドをスキップしています リモート: 展開
用のビルドを準備してい
ます リモート: 展開 ID は bd83d6eb です
リモート: 展開をアクティブにしています
リモート: + '[' Java_Bridge.war ']'
リモート: jbossews カートリッジを開始していますrhc app create -a tomcat6 -t jbossews-1.0
cd ~/tomcat6/; git rm -rf ./src/ pom.xml
cp ~/Java_Bridge.war ./webapps/; git add ./webapps/Java_Bridge.war; git commit -m "first try"; git push
remote: Found WXYZ:8080 listen port //(実際の IP ではない)
remote: Git Post-Receive 結果: 成功
remote: Activation status: 成功
remote: Deployment complete with status: success
to ssh://thisisnottheactualuser@tomcat6-notthenamehereeither.rhcloud .com
4. .war がデプロイされたと考えて、httpservlet を拡張する Java クラス GUIProfile から Java メソッド 'validate' を呼び出す tomcattest.php を実行しました。php/Java ブリッジ Java.inc
//もちろん同じ IP を使用して上から...
編集:後ですべてのインスタンスでもこれを試しました:まったく同じ結果
tomcattest.php の呼び出しの出力は、上部に表示される「致命的なエラー」です。
ダブルチェック:
5. ssh thisisnottheactualuser@tomcat6-notthenamehereeither.rhcloud.com
6. env | grep "IP"
OPENSHIFT_JBOSSEWS_IP=WXYZ
7. env | grep "PORT"
OPENSHIFT_JBOSSEWS_HTTP_PORT=8080
OPENSHIFT_JBOSSEWS_JPDA_PORT=8787
8. tomcattest.php のポートを 8787 に変更しましたが、もちろん何も変更していません。
9. 上から再起動します。今回は ./src/ と pom.xml を保持します。同じ「Deployment completed with status: success」、新しいリッスン IP で tomcattest.php を使用すると同じエラーが発生します
。vid 2012 ' 一見時代遅れです。順を追って説明します。
一度 ssh を実行し、「tomcat」ディレクトリはありません。cd $OPENSHIFT_DATA_DIR
代わりに、データ ディレクトリ
wget tomcat にアクセスし、ポートを >15000 に変更しました。sh startup.sh && tail -f ../logs/*
結果の注目すべきエラーは次のとおりです。
SEVERE: コネクタの初期化に失敗しました [Connector[AJP/1.3-15009]] org.apache.catalina.LifecycleException: コンポーネントの初期化に失敗しました [Connector[AJP/1.3-15009]] SEVERE: Failed to initialize connector [Connector[AJP/1.3] -15009]] org.apache.catalina.LifecycleException: コンポーネントの初期化に失敗しました [Connector[AJP/1.3-15009]] SEVERE: ProtocolHandler に関連付けられたエンドポイントの初期化に失敗しました ["ajp-bio-15009"] java.net.BindException : 許可が拒否されました: 15009 SEVERE: ProtocolHandler ["ajp-bio-15009"] に関連付けられたエンドポイントの初期化に失敗しました java.net.BindException: 許可が拒否されました: 15009
11. 手順 6 を再開しました。今回は IP をそのままにして、localhost のみを tomcat-stevenwernercs.rhcloud.com に変更しました。結果は同じでしたが、元の IP は同じでした
12. オンラインで選択肢がなくなったので、この質問をしました...
13.それから私はそれをたくさん編集しました...
14.辛抱強く待ってください:)
それが私が行ったことのすべてです。なぜphpがJavaを見つけられないのかわかりません。
以前の質問を見ましたが、役に立ちませんでした。
何にでもオープンです、ありがとう