繁体   English   中英

无法通过 WebSocket(节点 JS)发送 json 数据

[英]Can't send json data over WebSocket (NODE JS)

在我创建了.onopen 事件后,我让它启动了一些 json 数据,但我收到一个错误,这是代码:

 ws.onopen = ('connect', function(connect) {
            let obj={};
            obj.name='data'
            message = 'connect';
            obj.body=message;
            var data = {"op": 0, "d": {"server_id": serverid, "user_id": author, "session_id": sessionid, "token": tokenn, "video": true, "streams": [
                {"type": "video", "rid": "100", "quality": -1}, {"type": "video", "rid": "50", "quality": 9223372036854775807}]}}, separators=(",", ":");

            ws.send(data.toString())


我得到了什么: node:events:368 throw er; // 未处理的“错误”事件 ^

错误:在 TLSWrap.onStreamRead (node:internal/stream_base_commons:220:20) 读取 ECONNRESET 在 WebSocket 实例上发出“错误”事件:

我不完全确定这是您的问题,因为错误看起来无关。

但是data.toString()只会返回"[object Object]" 您需要使用JSON.stringify(data)

ECONNRESET通常意味着连接被意外关闭。 也许您的服务器收到您的有效负载并以某种方式关闭连接,因为它是[object Object]而不是有效的 JSON?

使用“JSON.stringify(data)”将 Object 转换为字符串

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM