使用了socket.io-client和vue-socket.io時都無法連接到服務器,服務器接收到了信息,但是卻不能傳值和接受值,查詢了好多文章也沒有得到個確切的答案,所以記錄下來方便遇到這個問題同學別耽誤太長時間
嘗試了一些API,發現是沒有規定請求的類型,應該定義下websocket類型
vue-socket.io 如下
const vueSocketIo = new VueSocketIO({ debug: true, connection: `http://${SOCKET_IP}`, vuex: { store, actionPrefix: 'SOCKET_', //為vuex設置的兩個前綴 mutationPrefix: 'SOCKET_' }, options: { transports:['websocket'], //僅當通過websocket傳輸時 默認的,長輪詢連接會被首次創建,隨后升級到更好的傳輸方式(比如WebSocket)。如果你喜歡挑戰性,這一部分可以被跳過。 怪不得一開始調試后台總說我請求他,我還有點懵 query:{ clientId:3 } }, })
socket.io-client如下
const socket = io(`http://${SOCKET_IP}`,{transports: ['websocket']});
成功建立了websocket連接。