php swoole
原理:发送消息客户端-》接收消息服务端-,发送消息服务端-》接收消息客户端

服务端接收信息:https://www.swoole.com/ webservice
<?php
$server = new swoole_websocket_server("0.0.0.1", 9502);//接收所有请求的IP信息
$server->on('open', function($server, $req) {//当客户端连接时,触发事件
echo "connection open: {$req->fd}\n";
});
$server->on('message', function($server, $frame) {//当客户端发送消息时,执行事件
echo "received message: {$frame->data}\n";//接收的信息
foreach($server->connections as $fd)//循环所有连接服务器的连接
{
$server->push(fd,$frame->data);//发送给每一个客户端信息
}
echo "当前服务器共有 ".count($server->connections). " 个连接\n";
$server->on('close', function($server, $fd)//断开服务器
{
echo "connection close: {$fd}\n";
});
$server->start();//开始发送
客户端发送信息:http://www.runoob.com/html/html5-websocket.html
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<script type="text/javascript">
function WebSocketTest()
{
if ("WebSocket" in window)
{
alert("您的浏览器支持 WebSocket!");
// 打开一个 web socket
var ws = new WebSocket("ws://localhost:9998/echo");//域名:端口
ws.onopen = function()//判断是否连接到服务器事件
{
// Web Socket 已连接上,使用 send() 方法发送数据
ws.send("发送数据");
alert("数据发送中...");
};
ws.onmessage = function (evt)
{
var received_msg = evt.data;
alert("数据已接收...");
};
ws.onclose = function()
{
// 关闭 websocket
alert("连接已关闭...");
};
}
else
{
// 浏览器不支持 WebSocket
alert("您的浏览器不支持 WebSocket!");
}
}
</script>
</head>
<body>
<div id="sse">
<a href="javascript:WebSocketTest()">运行 WebSocket</a>
</div>
</body>
</html>
客户端接收信息:同上,修改成接收信息的页面

浙公网安备 33010602011771号