您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
swoole学习笔记-websocket服务器与websocket客户端
发布时间:2018-04-30 10:57:03编辑:雪饮阅读()
websocket服务器创建脚本
<?php
//创建websocket服务器
$ws=new swoole_websocket_server("0.0.0.0",9504);
//配置websocket服务器事件监听
//监听websocket客户端打开事件
$ws->on('open',function($ws,$request){
var_dump($request);
//向websocket客户端响应
$ws->push($request->fd,"welcome");
});
//监听websocket服务端接收信息事件
$ws->on('message',function($ws,$request){
echo "message:".$request->data."\n";
$ws->push($request->fd,"get it message");
});
//监听客户端关闭连接事件
$ws->on("close",function($ws,$request){
echo "close\n";
});
$ws->start();
websocket客户端创建脚本
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var wsServer="ws://192.168.56.108:9504";
var websocket=new WebSocket(wsServer);
websocket.onopen=function (evt) {
console.log("连接成功");
}
websocket.onclose=function (evt) {
console.log("关闭");
}
websocket.onmessage=function (evt) {
console.log(evt.data);
}
websocket.onerror=function (evt,e) {
console.log('error');
}
</script>
</head>
<body>
</body>
</html>
调试
服务端运行脚本后,用浏览器打开客户端html,此时发现服务器端的open事件触发成功,然后客户端也接收到了服务端open事件中给客户端发送的信息,即客户端的消息接收也触发成功.
然后当客户端关闭后服务端也像预期一样的输出了"close",即服务端的close事件触发成功。
关键字词:swoole,websocket,服务器,客户端
下一篇:swoole学习笔记-定时器