【发布时间】:2019-11-25 01:09:18
【问题描述】:
我在 service-worker 中使用 websocket。它在网页打开时运行良好,但如果网页关闭,websocket 会断开连接并停止工作,这让我很困惑。
其实因为在中国,我无法使用google FCM和PUSH api,所以我想使用websocket来推送消息。
我的程序是在 Create-react-app 下构建的
//serviceWorker.js
const WebSocketConnect = () => {
let ws = new WebSocket("ws://127.0.0.1:8000/ws/news/")
ws.onopen = function() {
setInterval(() => {
if ( 'readyState' in ws && ws.readyState === 1 ) {
ws.send('Hay')
}
}, 5000)
}
ws.onmessage = function(e) {
console.log('Message:', e.data)
}
ws.onclose = function(CloseEvent) {
ws.close()
console.log(`Socket is clossed, code: ${CloseEvent.code} - reason: ${CloseEvent.reason}`)
setTimeout(() => {
WebSocketConnect()
}, 3000)
}
ws.onerror = function(err) {
console.log(err)
//console.error('Socket encountered error: ', err.message, 'Closing socket')
ws.close()
}
}
WebSocketConnect()
【问题讨论】:
标签: reactjs websocket push-notification service-worker