创建测试文件socket_test.php
<?php
use Workerman\Worker;
// 引入/Workerman/Autoloader.php
require_once __DIR__ . '/Workerman/Autoloader.php';
// 创建一个Worker监听2345端口,使用websocket协议通讯
$ws_worker = new Worker("websocket://0.0.0.0:2000");
// 启动4个进程对外提供服务
$ws_worker->count = 4;
// 给websocket请求返回信息
$ws_worker->onMessage = function($connection, $data)
{
$connection->send('hello socket,以下为接收到的数据:' . $data);
};
// 运行worker
Worker::runAll();
命令行运行(windows用户用 cmd命令行,下同)
php socket_test.php start
测试:socket_test.html
<html>
<script type="text/javascript">
function test_webSocket()
{
if ( 'WebSocket' in window) {
var ws = new WebSocket("ws://127.0.0.1:2000");
ws.onopen = function()
{
ws.send("浏览器发送的webscoket数据");
console.log("scoket发送数据中...");
};
ws.onmessage = function (evt)
{
var received_msg = evt.data;
console.log('接收到:'+received_msg);
alert('接收到:'+received_msg);
};
ws.onclose = function()
{
console.log("连已关闭...");
};
} else {
alert('您的浏览器不支持WebSocket');
}
}
</script>
<body>
<div id="">
<a href="javascript:test_webSocket()">发送 WebSocket请求</a>
</div>
</body>
</html>
打开html页面点击,在在浏览器f12的Console一栏可看到效果。