На странице А устанавливается соединение по webscoket . Теперь, когда я перехожу на страницу Б, которая тоже устанавливает соединение по webscoket, у меня падает сервер с ошибкой
websocket: close 1001 (going away).
В консоли в браузере выдает "failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED"
код js
var socket = new WebSocket("ws://localhost:8080/ws" );
socket.onmessage = function (event) {
DownloadScene(event)
}
socket.onclose =function (err){
console.log(err)
}
socket.onerror = function(error) {
console.log('WebSocket Error: ' + error);
}
function DownloadScene(event) {
var data = JSON.parse(event.data)
document.getElementById(data.id).innerHTML = data.body;
}
function loadScene(scene) {
var page = {
query_type:"loadScene",
data : {temp:scene}
}
var event = JSON.stringify(page);
socket.send(event);
}
Код сверху я использую так же на странице Б. Как сделать так что бы он снова подключился ?
Обработчик сверху :
func WebSocketConnect(w http.ResponseWriter,r *http.Request) {
conn,err := upGrader.Upgrade(w, r, nil)
//defer conn.Close()
if err != nil {
log.Println("here")
log.Println(err)
}
webSocketHandler(conn)
}
func webSocketHandler(conn *websocket.Conn) {
println("new connect")
err := conn.ReadJSON(&query)
if err != nil {
log.Fatal(err)
return
}
switch query.QueryType {
case model.LoadSceneQuery :
err := json.Unmarshal(query.Data,&frame)
if err!= nil{
log.Fatal(err)
}
LoadFrame(frame.Temp,conn,nil)
case model.LoadFrameQuery:
break
}
}
Мне кажется нужен скрипт который запускал бы соединение снова, но в js я не могу(.