2017-06-16 8 views
0

ネイティブプログラムと通信するために、ブラウザでwebsocket(または名前付きパイプ)を使用する必要があります。 (Webassemblyで実現可能ですか?)EmscriptenでBoostライブラリを使用する方法

私はBoost LibraryでC++ websocketを書いており、wasmにコンパイルしたいと思います。

しかし、EmscriptenでBoost Lib(ヘッダーのみではない)を使用する方法はわかりません。

私はこれでlibが後押しbulidしよう

: しかしUsing Boost with Emscripten

Emscriptenでプロジェクトをコンパイルする際に、どのように私はLIBをリンクする必要がありますか?

ありがとうございます!

答えて

0

昨日、ブラウザでブラウザのAPIを に制限しているため、できないと思います。 私はwebsocketだけ知っています。

しかし、今日私は右のWebRtcデータチャネルではないことがわかりました。したがって、emscriptenライブラリはC 'ソケット' APIを実装しています。

IMHO難しいです。 なぜ、おそらく機能的に制限されたソケットの実装を使用してWebソケットプロトコルを実装していますか? javascript APIですでにwebsocketを使用しています。

ブラウザサンドボックスと外部との通信には、 WebSocket APIを呼び出すwebassemblyプログラムのjavasript関数から呼び出すことができます。

google io codelabでは、Cライブラリを使用していないCプログラムを書く方法を説明しました。 Cライブラリ。ケースのコードでは、小さなです。

私の質問にサンプルコードを参照してください:How to call from webassembly websocket API?

+1

[推薦し編集](HTTPSがあります//stackoverflow.com/review/suggested-edits/16461439)[Igor](https://stackoverflow.com/users/8179827/igor)。あなたのアカウントですか?この場合、[あなたのアカウントのマージを依頼してください](https://stackoverflow.com/help/merging-accounts)して、あなたの投稿を承認せずに編集することができます。 – Melebius

+0

ありがとうございました! 可能な限り攻撃を回避するために、ユーザーからの通信メカニズムを隠すことです。 websocketを実装するためにjavascriptを使用する場合、コードはプレーンコードです(ただし、wasmはバイナリコード) – SAng

+0

Hello Igor!コンパイルに「Side_Module」フラグはなく、Html&Jsファイルを出力します。 しかし、なぜモジュールを使用するスタイルはSide_Moduleと思われますか? – SAng

0

私はあなたがwasmでのWebSocketを使用するために、異なる溶液で行かなければならないと思います。 javascriptでWebソケットを使用して、C++コードと接続したい場合があります。これを行う方法の一例と

もう一つの答え:C++/JavaScriptの相互作用のための

https://stackoverflow.com/a/44637040/3042747

emscriptenドキュメント:

https://kripken.github.io/emscripten-site/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html

関連する問題