版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16399991/article/details/81284530
1服务端代码:
<?php
/**
* Created by PhpStorm.
* User:
* Date: 2018/7/22
* Time: 15:12
*/
$server = new swoole_websocket_server("0.0.0.0", 8813);
//$server->set([]);
//监听websocket连接打开事件
$server->on('open', function (swoole_websocket_server $server, $request) {
echo "server: handshake success with fd{$request->fd}\n";
});
//监听ws消息事件
$server->on('message', function (swoole_websocket_server $server, $frame) {
echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
$server->push($frame->fd, "this is server");
});
//关闭事件
$server->on('close', function ($ser, $fd) {
echo "client {$fd} closed\n";
});
$server->start();
2 客户端
新建一个html文件 是按websocket客户端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var wsUrl = 'ws://xx.xx.xx.xx:8813';
var webSocket = new WebSocket(wsUrl);
webSocket.onopen = function (evt) {
console.log('conected-success');
}
webSocket.onmessage = function (evt) {
console.log('server-return:' + evt.data);
}
webSocket.onclose = function (evt) {
console.log('close');
}
webSocket.onerror =function (evt, e) {
console.log('error' + evt.data)
}
</script>
</body>
</html>
3.测试
- 启动服务端
- 启动客户端
上图三行 分别为 “连接成功,收到消息,关闭客户端” 的输出信息