The goal of the
websocket specification is to implement bidirectional communication with the server side in the browser. Bidirectional communication can expand the application type of the browser, if you want to use PHP to write WebSocket application, that swoole_framework must be the best choice, the need for friends can refer to the following
Code as follows: <?php define (' DEBUG ', ' on '); Define ("Webpath", Str_replace ("", "/", __dir__)); Require __dir__. '/.. /libs/lib_config.php '; Class WebSocket extends Swoolenetworkprotocolwebsocket { /** * offline, notify everyone of & nbsp */ Function onClose ($serv, $client _id, $from _id) { //Send message offline For everyone //$this->log ("Onoffline:"). $client _id); //$this->broadcast ($client _id, "Onoffline:". $client _id); Parent::onclose ($serv, $client _id, $from _id); } /** * received message * @see wsprotocol::onmessage () & nbsp */ function onMessage ($client _id, $ws) $this->lo G ("OnMessage:" $client _id. ' = '. $ws [' message ']); $this->send ($client _id, "Server:". $ws[' message ']); //$this->broadcast ($client _id, $ws [' message ']); } function broadcast ($client _id, $msg) { Fore Ach ($this->connections as $clid => $info) { I F ($client _id!= $clid) { &NBSP ; $this->send ($clid, $msg); { }} $APPSVR = new We Bsocket (); $APPSVR->loadsetting (__dir__.) /swoole.ini "); Load configuration file $AppSvr->setlogger (new Swoolelogecholog (true)); Logger $server = new Swoolenetworkserver (' 0.0.0.0 ', 9503); $server->setprotocol ($APPSVR); $server->daemonize (); As Daemon $server->run (' Worker_num ' =>4));