| | |
| | | import { ref, reactive } from 'vue'; |
| | | |
| | | export const useWebSocket = (protocols) => { |
| | | const ws = new WebSocket("ws://localhost:9260/", protocols); |
| | | let ws = null; |
| | | const messages = ref([]); |
| | | const status = reactive({ |
| | | isConnected: false, |
| | |
| | | |
| | | // äºä»¶çå¬ |
| | | const connect = () => { |
| | | // å建æ°çWebSocketå®ä¾ï¼ä½¿ç¨é
ç½®æä»¶ä¸é
ç½®çç«¯å£ |
| | | ws = new WebSocket("ws://localhost:9260/", protocols); |
| | | ws.onopen = () => { |
| | | status.isConnected = true; |
| | | console.log('WebSocket è¿æ¥æå'); |
| | |
| | | |
| | | // åéæ¶æ¯æ¹æ³ |
| | | const send = (data) => { |
| | | if (status.isConnected) { |
| | | if (status.isConnected && ws) { |
| | | ws.send(JSON.stringify(data)); |
| | | } |
| | | }; |
| | |
| | | messages, |
| | | status, |
| | | send, |
| | | close: () => ws.close() |
| | | close: () => ws && ws.close(), |
| | | reconnect: connect |
| | | }; |
| | | }; |