用swoole实现一个简单的服务器消息推送

原理图:

用swoole实现一个简单的服务器消息推送_第1张图片

server.php

on('message',function($s,$frame){
	//var_dump($frame);
	//广播
	foreach($s->connection_list() as $v){
		$s->push($v,$frame->data);
	}
});
$server->start();
?>

http.php

on('request',function($request,$response){
	//echo '有请求';
	//var_dump($request->post);
	//消息转发,发送websocket 请求
	$client=new swoole_http_client('118.240.109.52',8502);
	
	//服务端如果处理成功会推送消息到客户端
	$client->('message',function($client,$frame){
		var_dump($frame);
	});
	
	$client->upgrade('/',function($client){
		$client->push('hello wrold');//推送消息
	});
	//同步阻塞,异步非阻塞
	
});

//3.启动服务
$http->start();

?>

push.html

push.html




你可能感兴趣的:(swoole,php)