TS: Programmiertechnik: Websockets über mehrere Seiten?

Beitrag lesen

Hello,

Da ich die Socket-Resource und die Identifikation des Clients in einem Multi-Array speichere, wieviele Einträge (und damit wieviele gleichzeitige Verbindungen) verträgt das Array? Oder ist das letztlich nur vom memory_limit abhängig?

Fragen, die das PHP-Handbuch beantworten kann ... Wenn es ein Limit bei Arrays gibt, wird es wohl eher nicht nur bei "Handvoll" liegen, sondern bei MaxInt, wenn überhaupt. Wenn du übermäßig viele Besucher bekommst, platzt das System eher bereits an anderer Stelle.

Das haben wir hier im Forum schon mal ausprobiert. Müsste man noch im Archiv finden.

@Marvin Esse:

Das hängt in erster Linie vom Memory_Limit ab. Üblicherweise bekommen normale PHP-Scripte ja nur 8MB zugewiesen (zumindest bei mir *g*). PHP-Arrays sind in Wirklichkeit aber Listen bzw. Hashtables mit angeschlossenen Datenbereichen, bzw. Unterlisten. Also ergibt sich im Prinzip eine Baumstruktur. Die benötigt für die Verwaltung einiges an Overhead.

Wenn Du nun einen PHP-CLI-Prozess mit dem "Server" in den Hintergrund stellst, solltest Du dem also genügend Speicher (128 - 512MB?) zuordnen, wenn Du nicht gleich am Ende sein willst. Die Kommunikation selbst benötigt ja auch noch Speicher. Der Prozess wird ja nur einmal benötigt und nicht pro Request, so wie beim HTTP-Responder.

Hättest Du Interesse daran, die Erkenntnisse zum Thema hier im Wiki auf einer "Experimantal"-Seite gemeinsam zu sammeln? Die Diskussionen dazu würden weiterhin im Forum laufen, aber würden mit den Fragen im Wiki kreuzverlinkt werden. Das Thema ist zu umfangreich, um es in einem einzigen Thread abzuhandeln.

Liebe Grüße
Tom S.

--
Es gibt nichts Gutes, außer man tut es
Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.