1.服务端
require_once 'vendor/autoload.php';
use Workerman\Worker;
// 创建一个Worker监听2345端口,使用http协议通讯
$ws_worker = new Worker("websocket://0.0.0.0:2345");
// 启动4个进程对外提供服务
$ws_worker->count = 4;
// 当收到客户端发来的数据后返回hello $data给客户端
$ws_worker->onMessage = function($connection, $data){
foreach($connection->worker->connections as $con) {
$con->send('你好');
}
//$connection->send($data);
};
// 运行worker
Worker::runAll();
2.客户端
<!DOCTYPE html>
<html>
<head>
<title>HTML5</title>
<meta charset="utf-8" />
<script src="../js/jquery-1.8.3.min.js"></script>
</head>
<body>
<div>
<label>服务器消息:</label>
<div id="msg"></div>
</div>
<script>
ws = new WebSocket("ws://127.0.0.1:2345");
ws.onopen = function() {
alert("连接成功");
ws.send('tom');
alert("给服务端发送一个字符串:tom");
};
ws.onmessage = function(e) {
console.log(e);
$('#msg').text(e.data);
};
</script>
</body>
</html>
如果需向连接的客户端发送消息
foreach($connection->worker->connections as $con) {
$con->send('你好');
}
向已连接的所有客户端进行发送消息