我正在运行一个coap服务器,当我开始添加路由时,维护我自己的路由有点乏味,所以我想我应该切换到express(我已经将其用于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)
最佳答案
我做了一些调试,问题可能是请求头的问题,它发送到coap库意外的字段,这对coap protocol/lib没有意义。
例如,在node_module/finalhandler/index.js中,我从第163行注释到第168行,得到了关于路由处理程序的新错误。
我也有同样的问题,因为我也需要构建一个coap服务器,但我认为在没有express的情况下构建路由或构建另一个类似express的coap框架会更容易。此外,像coap的express load这样的东西将是一个很好的帮助,因为它有助于commom express项目。
关于node.js - 对非http(coap)使用快速路由,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39037175/