【发布时间】:2023-07-14 18:50:01
【问题描述】:
我的 React 代码创建了一个到我们公司的 ActiveMQ 5.15.5 服务器的 WebSocket 连接,然后订阅了以下两个主题:salary 和 decoding。问题是代码只能订阅其中一个主题。它不能同时订阅两者。
const client = window.Stomp.client(`ws://${ipAddress}:61614`, 'aj6.stomp');
const headers = { id: 'username' };
client.debug = null;
client.connect('user', 'pass', () => {
client.subscribe(
'/topic/salary', //BREAKPOINT was set here
message => {
const body = JSON.parse(message.body);
if (body && body.pcId) {
salaries[body.pcId] = body;
setState({ salaries});
}
},
headers,
);
client.subscribe(
'/topic/decoding', //BREAKPOINT was set here
message => {
const newBody = JSON.parse(message.body);
if (newBody && newBody.PcID) {
consoleMessage[newBody.PcID] = newBody;
setState({ consoleMessage });
}
},
headers,
);
});
所以在上面的代码中,我在client.subscribe('/topic/decoding... 和client.subscribe('/topic/salary... 处设置了一个断点。我看到它只订阅/topic/decoding 而不是/topic/salary。
有谁知道我可以如何解决这个问题,以便它订阅这两个主题?
【问题讨论】:
-
你最近不是问过同样的基本问题吗?现在好像被删了。请说清楚。谢谢!
-
是的,我有,但我在获得更多信息后更新了它。另外,如果它非常基本,您认为您可以提供答案吗?
-
“相同的基本问题”并不是说这个问题是基本的,而是您的新问题与旧问题“基本相同”。我无法确认它是否完全一样,因为旧的已经被删除了。此外,如果您有新信息要添加到问题中,那么只需更新问题,而不是删除它并创建一个新问题。
-
很公平,下次我会记住的
标签: reactjs activemq spring-websocket stomp