Skip to content

Commit 1204eab

Browse files
committed
Send leave message to client
1 parent 088fd6a commit 1204eab

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

pkg/signaler/signaler.go

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,13 +306,28 @@ func (s *Signaler) HandleNewWebSocket(conn *websocket.WebSocketConn, request *ht
306306

307307
conn.On("close", func(code int, text string) {
308308
logger.Infof("On Close %v", conn)
309+
var peer_id string = ""
310+
309311
for _, peer := range s.peers {
312+
310313
if peer.conn == conn {
311-
logger.Infof("Remove peer %s", peer.info.ID)
312-
delete(s.peers, peer.info.ID)
313-
break
314+
peer_id = peer.info.ID;
315+
}else{
316+
leave := map[string]interface{}{
317+
"type": "leave",
318+
"data": peer.info.ID,
319+
}
320+
peer.conn.Send(Marshal(leave))
314321
}
315322
}
323+
324+
logger.Infof("Remove peer %s", peer_id)
325+
if(peer_id == "") {
326+
logger.Infof("Leve peer id not found")
327+
return
328+
}
329+
delete(s.peers, peer_id)
330+
316331
s.NotifyPeersUpdate(conn, s.peers)
317332
})
318333
}

0 commit comments

Comments
 (0)