問題:是否可以在支持服務器的 java 應用程序中使用 websocket 將數據從服務器發送到客戶端,而無需創建另一個客戶端?網上幾乎每一篇關于 websocket in spring 的文章,都展示了如何在控制器中定義你的方法來處理請求。當他們用 @MessageMapping("/news") 和 @SendTo("/topic/news") 這兩個注釋定義一個函數時,所有的魔法似乎都會發生。據我所知,單獨使用此方法只能捕獲請求并進一步發送它們 (SendTo)。我想知道是否可以將數據從服務器發送到客戶端而無需客戶端首先請求某些東西。以及該代碼的樣子。
1 回答

四季花海
TA貢獻1811條經驗 獲得超5個贊
你可以使用 SimpMessagingTemplate 。
我認為你應該在某個地方上這門課
@Configuration
@EnableWebSocketMessageBroker
public class "yournameclass" extends AbstractWebSocketMessageBrokerConfigurer
然后這個方法里面
@Override
public void configureMessageBroker(MessageBrokerRegistry configuration) {
configuration.enableSimpleBroker("/test");
configuration.setApplicationDestinationPrefixes("/someprefix");
}
然后你可以從你的代碼中的某個方法調用它
@Autowired
private SimpMessagingTemplate template;
public void "mymethodsender" ()
{ this.template.convertAndSend("/test/somepathwhereyouregisteredyourclienttoreceivemessages", "messageobject");
}
添加回答
舉報
0/150
提交
取消