// 创建WebSocket连接
var socket = new WebSocket('ws://your-spring-boot-server-url/websocket-endpoint');
// 连接打开时触发
socket.addEventListener('open', function (event) {
socket.send(JSON.stringify({type: 'JOIN', room: 'general'}));
});
// 监听从服务器来的消息
socket.addEventListener('message', function (event) {
console.log('Message from server ', event.data);
});
// 连接关闭时触发
socket.addEventListener('close', function (event) {
console.log('Socket is closed. Reconnect will be attempted in 1 second.', event);
});
Vue.js示例
如果你的应用是基于Vue.js的,你可以直接在Vue组件中使用WebSocket,或者考虑使用如vue-socket.io这样的插件来简化开发过程。下面是一个基本的Vue组件中集成WebSocket的例子:
export default {
data() {
return {
socket: null
}
},
mounted() {
this.socket = new WebSocket('ws://your-spring-boot-server-url/websocket-endpoint');
this.socket.onopen = (event) => {
console.log('WebSocket connection opened!', event);
this.socket.send(JSON.stringify({action: 'subscribe', topic: 'news'}));
};
this.socket.onmessage = (event) => {
console.log('Received message:', event.data);
};
this.socket.onclose = (event) => {
console.log('WebSocket connection closed.', event);
};
},
beforeDestroy() {
if (this.socket) {
this.socket.close();
}
}
}