2013-12-20 30 views
11

Ich kann hier etwas falsch machen, aber ich kann nicht meinen Kopf herum.Socket.io Force trennen Client

Die folgende funktioniert nicht:

Client

$("#disconnectButton").click(function() { 
    socket.emit("disconnect"); 
}); 

Server

socket.on("disconnect", function() { 
    console.log("this never gets called"); 
}); 

Kann ich nicht manuell das Trennungsereignis Anruf von der Client-Seite? Da die folgenden Werke:

Client

$("#disconnectButton").click(function() { 
    socket.emit("whatever"); 
}); 

Server

socket.on("whatever", function() { 
    socket.disconnect(); 
    console.log("this gets called and disconnects the client"); 
}); 
+0

Was ist Ihre Argumentation die disconnect zu zwingen? Wenn Sie versuchen, jemanden wegen Verstoßes gegen Beschränkungen oder Sicherheitsbeschränkungen zu booten, sollten Sie die Verbindung weniger elegant beenden. – Brad

+0

Ich habe eine Chat-App, wo ich eine 'trennen' -Option hinzufügen möchte - so dass jemand manuell von der Websocket trennen kann (ähnlich wie replizieren, wenn Benutzer auf Aktualisieren klicken). – Tamas

Antwort

8

'Trennung' Ereignis ist Socket.io Ereignis, wenn Sie verwenden emittieren, um die 'Trennung' zu nennen, kann Ursache sein anderes Problem

so:

ersetzen:

$("#disconnectButton").click(function() { 
    socket.disconnect(); 
}); 
+1

Dies ruft nicht die 'trennen 'Ereignis für mich. – nicohvi

+0

Funktioniert für mich. Vielen Dank! – Nikola

Verwandte Themen