Hi,
ich hab jetzt nicht alles gelesen, aber das Problem mit dem 10sec delay scheint ein Timeout zu sein.
Wenn man sich deinen socket_select-Aufruf anguckt, könnte es sein, dass PHP den Socket mit der geschlossenen Verbindung im dritten Socket-Set verstauen würde. Wenn das der Fall ist, oder generell wenn irgendwelche Fehler aufterten, reagierst du darauf generell nicht.
Von WebSockets hab ich selbst keine Ahnung, also kann ich nicht wirklich beurteilen ob das der Fehler sein könnte.
MfG kackb00n