node.js koa2中(或express),如何在http请求中,使用websocket请求数据,然后返回给http?
我有个需求是http请求过来后,需要从websocket与本地软件通信获取数据,然后用这个数据返回给http,本地软件只能用websocket,socket.io暂时不支持,
意淫很长时间没有好的解决方案,本来想通过websocket.send的时候带上一个唯一的返回标识比如cbEventId:id123123,然后监听这个id,等有返回结果的时候再返回http应答,
感觉理论上能行的同,但是不知道怎么写等待监听到cbEventId返回的时候再返回http应答,websocket的监听都是监听messages时间,而这个监听事件一般都是写在http请求之外的,或者说是写在入口文件的,要是在http 内再声明监听事件应该会覆盖之前的监听...
若是直接入口文件指定一个事件数组,然后再websocket监听message事件中派发监听事件,好像行的通,但是仔细一想在http应答的时候,给监听事件数组赋值,并不是异步请求,而是赋值,所以http很可能就不会返回任何东西,直接先关闭了,然后websocket派发事件得到的数据也传不回来了,请问大神们这要如何解决呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
按照你的描述,贴个伪代码吧,可以解决问题: