尝试从客户端连接时出现 WebSocket 问题

Posted

技术标签:

【中文标题】尝试从客户端连接时出现 WebSocket 问题【英文标题】:WebSocket problem when trying to connect from client 【发布时间】:2021-04-18 19:10:11 【问题描述】:

我在尝试连接 websocket 服务器时遇到问题。 我需要订阅以获取欧元/美元的当前价格,但我不断收到此对象:topic: "keepalive"。 它应该返回价格和最新的时间戳

这是我的代码:

import  w3cwebsocket as W3CWebSocket  from "websocket";


export default function LogIn() 

    const client = new W3CWebSocket('ws://stream.tradingeconomics.com/?client=guest:guest');

    useEffect(()=>
        client.onopen = function(e) 
            console.log("Connection established!");
            client.send(JSON.stringify(topic: "subscribe", to: "EURUSD:CUR"))
            client.onmessage = function(e)  console.log(e); ;
        ;
        
    ,[])

非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

问题是您发送的是字符串化对象而不是字符串:

你正在发送

client.send(JSON.stringify(topic: "subscribe", to: "EURUSD:CUR"))

你需要发送

client.send('"topic": "subscribe", "to": "EURUSD:CUR"')

【讨论】:

以上是关于尝试从客户端连接时出现 WebSocket 问题的主要内容,如果未能解决你的问题,请参考以下文章

AWS websocket服务器:从浏览器连接时出现403错误,从Python很好

在 node.js 服务器上使用 nginx 时出现“websocket 连接无效”

为 Kaleido 使用 Websocket 连接时出现“连接未在 send() 上打开”错误

尝试使用 .Net Core 3.1 连接 mySAP WCF 时出现问题

使用 websocket 时出现“TypeError: a float is required”

尝试在 GraphCMS api 上连接时出现 Gatsby Graphql 问题