Om du använder websockets bör du använda aviseringar från klienten. Det är ett av deras huvudsakliga användningsfall.
Om du är orolig för inkonsekvenser på grund av att anslutningen avbryts eller något ändras däremellan, kan du implementera ett system som liknar HTTP ET-taggar , där klienten skulle skicka en hashkod som du kan svara på serversidan om det finns en konflikt i uppdateringen.
Uppdatering:Jag antar att jag förstod ditt första problem lite fel. Om jag förstår ditt användningsfall rätt:du skickar databasuppdateringar från en klient och efter det måste alla anslutna klienter uppdateras. I så fall tycker jag att servern ska skicka uppdateringsmeddelandena efter att DB-uppdateringar har gjorts, så jag håller med lösning 4. Jag antar här att din websocket-server är samma server som kör PHP och gör DB-uppdateringarna.
Men beroende på ditt användningsfall bör klienten fortfarande skicka ett hashvärde vid nästa begäran som identifierar dess "vy över världen", så att du inte skulle göra identiska uppdateringar flera gånger om en anslutning bryts.
Uppdatering 2:så det förstods nu att du verkligen använder en separat, fristående websocket-server. I grund och botten har du två olika webbservrar på serversidan och har problem med hur man kommunicerar mellan de två. Det här är ett verkligt problem, och jag skulle rekommendera att du bara använder en server åt gången - antingen ta en titt på att använda Stöd för Apache-websocket (experimentellt och inte riktigt rekommenderat) eller migrera dina php-skript till websocket-instansen.
Varken PHP eller Apache byggdes egentligen med websockets i åtanke. Det är ganska enkelt att sätta upp en fristående websocket-server med endast PHP, men det kanske inte är så lätt att migrera resten av PHP-stacken till den om koden förlitar sig på Apache/webserver. Stöd för Apache-websocket är också knappast optimalt. För en riktig websocket-lösning skulle tyvärr bästa praxis vara att använda en teknik som är byggd för den från grunden.