Tôi đang tạo trò chơi trực tuyến đơn giản dựa trên Web. trò chơi sử dụng Socket.io để chia sẻ lẫn nhau. nhưng tôi đã gặp sự cố.Làm cách nào để xử lý sự kiện Đóng trong Socket.io?
suy nghĩ về tình huống sau. Tôi đã chạy máy chủ Socket.io. một người chơi đặt phòng và người chơi khác tham gia vào phòng. họ chơi trò chơi một thời gian .. nhưng một người chơi rất tức giận và đóng tab trò chơi.
trong trường hợp này, làm thế nào tôi có thể nhận được sự kiện mà một khách hàng đã đóng trình duyệt ở phía máy chủ?
theo googling, người nói như thế này: "sử dụng sự kiện trình duyệt gần như onbeforeunload"
nhưng tôi biết rằng tất cả các trình duyệt không hỗ trợ sự kiện onbeforeunload. vì vậy tôi muốn giải pháp về việc kiểm tra sự kiện ngắt kết nối máy khách trong SERVER SIDE.
trong Socket.io (nodeJS) server-side console, khi kết nối của khách hàng đóng cửa, giao diện điều khiển nói như sau:
debug - loại bỏ phương tiện giao thông
phiên bản nodeJS tôi là 0.4.10 và Socket.io phiên bản là 0.8.7. và cả hai đều chạy trên Linux.
Bất cứ ai cũng có thể trợ giúp?
mã rút ngắn đáng đang ở đây:
var io = require ("socket.io").listen (3335);
io.sockets.on ("connection" , function (socket)
{
socket.on ("req_create_room" , function (roomId)
{
var socketInstance = io
.of ("/" + roomId)
.on ("connection" , function (sock)
{
sock.on ("disconnect" , function()
{
// i want this socket data always displayed...
// but first-connected-client doesn't fire this event ..
console.log (sock);
}
});
});
});
Câu trả lời của tôi có hữu ích không? Nó có giải quyết được vấn đề của bạn không? –