3

私はcoapサーバーを実行しています.ルートを追加し始めたので、独自のルーティングを維持するのは少し面倒なので、エクスプレスに切り替えると思いました(すでにhttpサーバーに使用しています).

基本的に と同じ形式を使用しているためserver.on("request", (req, res) => {...})、互換性があると思いましたが、express は coap 仕様にないさまざまなヘッダーを追加します。

私ができるようにしたいのは、coap アプリの高速ルーティングの利便性を利用することです。これは可能ですか?私は現在これをやっています:

const server = coap.createServer(...);
const app = express();
server.on("request", app);

結局、このエラーは次のとおりです。

 Uncaught Error: Unknown string to Buffer converter for option: X-Content-Type-Options
  at module.exports.toBinary (node_modules/coap/lib/option_converter.js:21:11)
  at OutMessage.setOption (node_modules/coap/lib/helpers.js:56:16)
  at Immediate.write (node_modules/finalhandler/index.js:164:9)
4

1 に答える 1

0

私は少しデバッグを行いましたが、問題はおそらく要求ヘッダーに関するものであり、coap ライブラリに予期しないフィールドを送信し、coap プロトコル/ライブラリには意味がありません。

たとえば、node_module/finalhandler/index.js の 163 行目から 168 行目までをコメントすると、ルート ハンドラーに関する新しいエラーが発生しました。

coapサーバーも構築する必要があるため、同じ問題がありますが、エクスプレスなしでルートを構築するか、coapする別のエクスプレスのようなフレームワークを構築する方が簡単だと思います。また、coap の express-load のようなものは、Commom Express プロジェクトに役立つので、良い助けになります。

于 2016-09-29T18:29:08.450 に答える