2017-12-18 20 views
0

私は2本の錆の糸を持っています。あるスレッドから別のスレッドに構造体を送るには、私はチャネルを使います。これらのスレッドを2つのOSプロセスに分割したいと考えています。あるプロセスから別のプロセスに構造体を送信する最も簡単な方法は何ですか?

TCPソケットを使用してJSONを前後にシリアライズするより簡単な方法はありますか?

私はこのすべてをかなり新しくしているので、私はGoogleにどのような言葉を知らされていません。

+0

[関連する質問](https://stackoverflow.com/q/27683266/1233251)。標準ライブラリにはIPCの直接的な手段はありませんが、複数のクレートが利用できます。 –

+0

ありがとうございます。私はオプションで少し圧倒される。あなたが個人的に使うものは何ですか? – yawn

答えて

1

あなたが探しているキーワードのグーグルについては、プロセス間通信(IPC)です。これを行うにはいくつかの方法がありますが、コメントですでに述べたように、Rustは標準ライブラリをあまり提供していません。

プロセス間通信を行う方法は数多くあり、それぞれ独自のメリットとドローバックがあります。たぶんhereの読み込みを開始すると、Googleには何のヒントが得られるでしょうか。

特にあなたの質問のために、jsonに構造体をシリアル化する際のパフォーマンスが懸念される場合は、バイナリ形式も使用できます。 Bsonをご覧になることもできます。

+0

ありがとうございます。私は今、さまざまなオプションを読んでいます。私はほとんど何か効率的なものではなく、本当に簡単なものを探しています。理想的には、チャンネルのように「うまくいく」でしょう。 – yawn

+1

私はIPCを行うための本当の「簡単な」方法がないことを恐れています。私は、TCP/Unixソケットがより簡単な方法だと言います。とにかく、何らかの形でデータをシリアル化する必要があります。 jsonの複雑さを取り除くためには、 '[u8]'、つまり生のバイトにシリアライズすることができます。 [こちらのご質問](https://stackoverflow.com/questions/28127165/how-to-convert-struct-to-u8)をご覧ください。 – StarSheriff

関連する問題