128.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 在 vertx-websocket 消费者上触发事件时,可以确定 connectionKey 的值,其中标识 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");