Mit einem Nodejs Server und Client mit socket.io kann ich 14k Clients verbinden lassen. Etwas weniger sogar bei Verwendung von Clustering.Verbindungslimit in socket.io
Weder CPU noch RAM sind erschöpft. Außer dem automatischen Ping, das socket.io selbst ausführt, werden keine Daten übertragen.
Der Transport ist so eingestellt, nur 'Websocket' zu verwenden, keine Abfrage!
Mehr Clients scheitern nur mit dem Grund "Timeout".
Was könnte das verursachen?
Ich könnte verstehen, wenn die Maschine nicht stark genug ist. Aber dann würde ich erwarten, dass der Server die Clients nach dem Zufallsprinzip absetzt und nicht jedes Mal, wenn ich es versuche, auf einem bestimmten Wert bleibt.
Edit: Dies ist unter Windows mit Web-Sturm, ich werde auf einer Linux-Maschine testen, wenn ich kann.
Vielleicht ist dieses Problem mit socket.io zu Ihrem Problem verwandt: https://github.com/primus/primus/issues/355 – Jasper
Leider nein, ein anderes Programm in C# mit normalen TCP-Sockets geschrieben hat dieses Problem nicht. Auch wenn ich Clustering verwende, ist die Anzahl ohne Grund niedriger. – riki