Javascript Websocket处理不同的数据-不同的端点?

Javascript Websocket处理不同的数据-不同的端点?,javascript,ecmascript-6,websocket,Javascript,Ecmascript 6,Websocket,我对WebSocket以及如何区分它发送的不同数据感到好奇。我在网上也找不到任何清晰的东西,除非我错过了眼前的东西 我有一个websocket,握手建立了连接。ws的目的是提供实时足球分数和实时表格 因此,如果它是一个RESTAPI,我可能会有两个端点,/livescores和/table。我的react组件对不同的数据感兴趣,所以我想知道web套接字中是否有等效的端点?或者如何区分不同的数据?每个数据段是否应该有一个单独的web套接字 此外,请记住,除了实时分数和表格之外,还会有很多超过2条的

我对WebSocket以及如何区分它发送的不同数据感到好奇。我在网上也找不到任何清晰的东西,除非我错过了眼前的东西

我有一个websocket,握手建立了连接。ws的目的是提供实时足球分数和实时表格

因此,如果它是一个RESTAPI,我可能会有两个端点,
/livescores
/table
。我的react组件对不同的数据感兴趣,所以我想知道web套接字中是否有等效的端点?或者如何区分不同的数据?每个数据段是否应该有一个单独的web套接字

此外,请记住,除了实时分数和表格之外,还会有很多超过2条的数据,所以我认为为每一条数据提供不同的ws会有些过分

有人能给我指出正确的方向或提供答案吗

TLDR您是为每一组不同的数据创建一个websocket(为了更好地描述这一点),还是只有一个websocket?如果是这样,客户机区分接收的数据类型的最佳方式是什么

如果这个问题没有意义,让我知道,我会尽量让它更清楚

我的起始代码如下:

import sockjs from 'sockjs';

const ws = sockjs.createServer({
    sockjs_url: 'http://cdn.jsdelivr.net/sockjs/1.0.1/sockjs.min.js',
});

ws.on('connection', connection => {
    connection.on('data', m => {
        const message = m ? JSON.parse(m) : {};
        if (message.type === 'register') {
            connection.write(
                JSON.stringify({
                    address: message.address,
                    body: {
                        message: 'Hello World!',
                    },
                })
            );
        }
    });
});
export default ws;

您不需要使用多个套接字来执行您想要的操作。实际上,只有几个合理的理由可以让你这么做(请参阅)


您通过套接字发送JSON有效负载并使用该对象的属性来确定数据上下文的方法是完全可以接受的,但是您可能需要对消息传递模式进行一些研究,看看它是否更适合您的需要。由于您使用的是sockjs,因此您需要查看以启用此类型的功能。

您已经在使用
message.type
来区分多种类型的消息。只需使用它来区分分数更新和表格更新!好的,很酷,所以
消息。应该使用什么类型的
?谢谢