您好,欢迎访问一九零五行业门户网

php使用swoole实现一个简单的多人在线聊天群发,swoole在线聊天_PHP教程

php使用swoole实现一个简单的多人在线聊天群发,swoole在线聊天聊天逻辑的好多细节没有实现,只实现群发。
php代码:
$serv = new swoole_websocket_server(127.0.0.1,3999);//服务的基本设置$serv->set(array( 'worker_num' => 2, 'reactor_num'=>8, 'task_worker_num'=>1, 'dispatch_mode' => 2, 'debug_mode'=> 1, 'daemonize' => true, 'log_file' => __dir__.'/log/webs_swoole.log', 'heartbeat_check_interval' => 60, 'heartbeat_idle_time' => 600,));$serv->on('connect', function ($serv,$fd){// echo client:$fd connect..php_eol;});//测试receive$serv->on(receive,function(swoole_server $serv,$fd,$from_id,$data){// echo receive#{$from_id}: receive $data .php_eol;});$serv->on('open', function($server, $req) {// echo server#{$server->worker_pid}: handshake success with fd#{$req->fd}.php_eol;;// echo php_eol;});$serv->on('message',function($server,$frame) {// echo message: .$frame->data.php_eol; $msg=json_decode($frame->data,true); switch ($msg['type']){ case 'login': $server->push($frame->fd,欢迎欢迎~); break; default: break; } $msg['fd']=$frame->fd; $server->task($msg);});$serv->on(workerstart,function($server,$workerid){// echo workerstart: .$workerid.php_eol;// echo php_eol;});$serv->on(task,on_task);$serv->on(finish,function($serv,$task_id,$data){ return ;});$serv->on('close', function($server,$fd,$from_id) {// echo connection close: .$fd.php_eol;// echo php_eol;});$serv->start();function on_task($serv,$task_id,$from_id,$data) { switch ($data['type']){ case 'login': $send_msg=说:我来了~; break; default: $send_msg=说:{$data['msg']['speak']}; break; } foreach ($serv->connections as $conn){ if ($conn!=$data['fd']){ if (strpos($data['msg']['name'],游客)===0){ $name=$data['msg']['name']._.$data['fd']; }else{ $name=$data['msg']['name']; } }else{ $name=我; } $serv->push($conn,$name.$send_msg); } return;}function on_finish($serv,$task_id,$data){ return true;}
前端代码:
websocket测试 websocket test 昵称: 发送

http://www.bkjia.com/phpjc/1093100.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1093100.htmltecharticlephp使用swoole实现一个简单的多人在线聊天群发,swoole在线聊天 聊天逻辑的好多细节没有实现,只实现群发。 php代码: $serv = new swoole_webso...
其它类似信息

推荐信息