Entferne Objekte beim Trennen von socket.io

9

Ich benutze Nodejs und Socket.io. Wenn der Client eine Verbindung herstellt, werden neue JavaScript-Objekte erstellt.

Bleiben diese Objekte einfach für immer? Sollten sie gelöscht oder entfernt werden, wenn der Client die Verbindung trennt? Ist es überhaupt möglich, ein Objekt zu entfernen? Ich weiß, dass Löschen nicht funktioniert ...

Danke - ich denke, das ist eher eine allgemeine Frage und alle Vorschläge wären wirklich hilfreich.

Danke!

    
dzm 29.03.2012, 02:10
quelle

2 Antworten

17
___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script). ___ answer9918524 ​​___

Wenn du nicht aufräumst, dann werden sie für immer dort bleiben, da ich annehme, dass du sie global machst.

Sie sollten aufräumen, sobald ein Benutzer die Verbindung trennt, indem er sich an den disconnect -Ereignis-Listener bindet:

%Vor%     
___ tag123nodejs ___ Node.js ist ein ereignisbasiertes, nicht blockierendes asynchrones I / O-Framework, das die Google V8-JavaScript-Engine und die libuv-Bibliothek verwendet. Es wird für die Entwicklung von Anwendungen verwendet, die die Fähigkeit zum Ausführen von JavaScript sowohl auf dem Client als auch auf der Serverseite stark ausnutzen und daher von der Wiederverwendbarkeit von Code und dem Mangel an Kontextwechsel profitieren. ___ tag123socketio ___ Socket.IO zielt darauf ab, Echtzeit-Apps in jedem Browser und Mobilgerät zu ermöglichen, wobei die Unterschiede zwischen den verschiedenen Transportmechanismen verschwimmen. Es unterstützt mehrere Transporte, wie WebSockets, Flash-Sockets, Long-Polling und mehr, automatisch zurückfallen, wenn ein Transport fehlschlägt. ___ qstntxt ___

Ich benutze Nodejs und Socket.io. Wenn der Client eine Verbindung herstellt, werden neue JavaScript-Objekte erstellt.

Bleiben diese Objekte einfach für immer? Sollten sie gelöscht oder entfernt werden, wenn der Client die Verbindung trennt? Ist es überhaupt möglich, ein Objekt zu entfernen? Ich weiß, dass Löschen nicht funktioniert ...

Danke - ich denke, das ist eher eine allgemeine Frage und alle Vorschläge wären wirklich hilfreich.

Danke!

    
___ answer32581156 ___

Ich denke, die akzeptierte Antwort löst das Problem nicht wirklich. Wenn du es tust:

%Vor%

Socket-Ereignisse Listener werden innerhalb von io.on () Callback erstellt. Nach der Trennung werden diese Ereignislistener nicht wirklich entfernt. Ich sollte so etwas machen:

%Vor%

Außer wenn socket.io intern alle Eventlistener innerhalb des io.on () Callbacks entfernt. EventListener bestehen weiter

    
___ qstnhdr ___ Entferne Objekte beim Trennen von socket.io ___
Mohamed Mansour 29.03.2012, 02:57
quelle
0

Ich denke, die akzeptierte Antwort löst das Problem nicht wirklich. Wenn du es tust:

%Vor%

Socket-Ereignisse Listener werden innerhalb von io.on () Callback erstellt. Nach der Trennung werden diese Ereignislistener nicht wirklich entfernt. Ich sollte so etwas machen:

%Vor%

Außer wenn socket.io intern alle Eventlistener innerhalb des io.on () Callbacks entfernt. EventListener bestehen weiter

    
Martian2049 15.09.2015 08:22
quelle

Tags und Links