147.9. 将消息发送到连接到 vertx-websocket 服务器消费者的对等点


注意

本节仅在生成由 camel-vertx-websocket 使用者托管的 WebSocket 时应用。在向外部托管的 WebSocket 生成消息时,它不相关。

要向 vertx-websocket 服务器使用者托管的 WebSocket 发送消息,请使用 sendToAll=true 端点选项,或 CamelVertxWebsocket.sendToAll 标头。

from("vertx-websocket:localhost:8080/chat")
    .log("Got WebSocket message ${body}");

from("direct:broadcastMessage")
    .setBody().constant("This is a broadcast message!")
    .to("vertx-websocket:localhost:8080/chat?sendToAll=true");

或者,您可以使用 CamelVertxWebsocket.connectionKey 标头将消息发送到特定的对等点。可将多个 peer 指定为用逗号分开的列表。

connectionKey 的值可以在 vertx-websocket consumer 上触发事件时确定,其中标识 peer 的唯一键将通过 CamelVertxWebsocket.connectionKey 标头传播。

from("vertx-websocket:localhost:8080/chat")
    .log("Got WebSocket message ${body}");

from("direct:broadcastMessage")
    .setBody().constant("This is a broadcast message!")
    .setHeader(VertxWebsocketConstants.CONNECTION_KEY).constant("key-1,key-2,key-3")
    .to("vertx-websocket:localhost:8080/chat");
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.