1

私は、2 つのコンポーネントを持つデスクトップ ソフトウェアを少し書いています。コンポーネント B はコンポーネント A にクエリを実行します。Web サービスを作成することは、原則として IPC を実行するための理想的な方法のように思えます。データモデルが適合し、既製のクライアントおよびサーバーライブラリがあり、パラメーターをエンコードおよびデコードするためのよく知られた方法などがあります.

しかし、ネットワーク ソケット上に HTTP サーバーをセットアップすることは、ローカル アプリケーションには適切ではないようです。たとえば、どのポートを選択しますか? 人々が外部からスキャンしてアプリに話しかけることができるようにしたくないなど.

それで、ドメイン ソケットを介して HTTP を実行できるのではないかと考えていました。それは意味がありますか?優先順位はありますか?HTTP と同じプロパティ (指定されたリソース (URI) の要求、エンコードされたパラメーター、応答) を持つ IPC に使用できる同等のプロトコルはありますか?

C ライブラリ (ボーナス ポイントとして Go と ObjC の可能性もあります) を探しています。

4

1 に答える 1

0

ループバック インターフェイス (127.0.0.1) のみにバインドすると、「外部可視性」の問題が解決され、ローカル マシン上のプロセスのみが接続できるようになります。

ただし、ポート割り当ての問題は解決しません。選択したポート番号は、アプリの起動時までに使用される可能性があります。その後、サーバーはバインドできず、クライアントはポートにバインドされた他のプロセスに接続します。

古くて流行に乗っていませんが、CORBA の実装には、考えもしなかった問題がまだ解決されていない傾向があります。

于 2012-08-24T22:19:17.970 に答える