http 为无状态连接,想要长时间连接服务器使用socket吧!下面是我使用Websoket的实际操作:
const { WebSocket } = global
connectWebsoket() {
this.ws = new WebSocket(WEBSOCKET_URL)
//WEBSOCKET_URL是写好的地址
this.ws.onopen = () => {
//onopen
console.log('websocket已连接')
this.handleLoginNotifyServer()
}
this.ws.onmessage = (e) => {
//onmessage
const message = JSON.parse(e.data) //得到的message数据
}
this.ws.onerror = () => {
//onerror
console.log('消息服务器未连接,请检查是否开启cookie支持,再重新登录!')
}
this.ws.onclose = (e) => {
//onclose
console.log('webSocket已断开, 3秒后开始重连')
setTimeout(() => {
this.connectWebsoket() //断开后3秒重新连接
}, 3000)
}
}
socket本质是编程接口(API),对TCP/IP的封装。
网友评论