hallo zusammen
ich habe ein problem bei meinem eigenen chat-system. es kommt oft vor, dass der server beim socket_read()-befehl hängen bleibt. die cpu-last von php ist dann auf 99% und nix mehr geht. nur noch ein neustart des scripts hilft. habe schon viele verschiedene socke_read()-varianten ausprobiert. bin für jeden hinweis dankbar (hoffe es gibt hier auch leute, die ihre lösungen schreiben - nicht nur die eigenen probleme, wie das bei den meisten php-foren der fall ist).
gruss, patrick
code-auszug:
-------------------
$this->debug("New Socket $newsocket created, $address:$cport");
$this->debug("New Message from $newsocket");
$buffer = "";
if(($buffer = socket_read($newsocket, 2048, PHP_NORMAL_READ)) === false) // <-- hier bleibt er hängen
{
$this->debug("Error by reading Socket, removing Client");
$this->removeclient($newsocket);
}
else
{
$this->debug("\"".$buffer."\"");
usw...
auszug aus dem debug-log:
----------------------------------------
[16:36:41] :New Socket Resource id #3024115 created, 194.230.125.229:4729
[16:36:41] :New Message from Resource id #3024115
[17:11:08] :Starting SocketServer on port 8000 (neustart des scripts)
ich habe ein problem bei meinem eigenen chat-system. es kommt oft vor, dass der server beim socket_read()-befehl hängen bleibt. die cpu-last von php ist dann auf 99% und nix mehr geht. nur noch ein neustart des scripts hilft. habe schon viele verschiedene socke_read()-varianten ausprobiert. bin für jeden hinweis dankbar (hoffe es gibt hier auch leute, die ihre lösungen schreiben - nicht nur die eigenen probleme, wie das bei den meisten php-foren der fall ist).
gruss, patrick
code-auszug:
-------------------
$this->debug("New Socket $newsocket created, $address:$cport");
$this->debug("New Message from $newsocket");
$buffer = "";
if(($buffer = socket_read($newsocket, 2048, PHP_NORMAL_READ)) === false) // <-- hier bleibt er hängen
{
$this->debug("Error by reading Socket, removing Client");
$this->removeclient($newsocket);
}
else
{
$this->debug("\"".$buffer."\"");
usw...
auszug aus dem debug-log:
----------------------------------------
[16:36:41] :New Socket Resource id #3024115 created, 194.230.125.229:4729
[16:36:41] :New Message from Resource id #3024115
[17:11:08] :Starting SocketServer on port 8000 (neustart des scripts)