php swoole构建webSocket连接的简单实例 - Go语言中文社区

php swoole构建webSocket连接的简单实例


1.客户端:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>webSocket</title>
</head>
<body>
<p id="status"></p>
<input type="text" id="content" />
<button οnclick="clientSend()">发送</button>
<button οnclick="clientClose()">关闭连接</button>
<script type="text/javascript">
    var wsServer = "ws://192.168.0.239:9504";
    var webSocket = new WebSocket(wsServer);
    //on方法表示监听服务端动作
    webSocket.onopen = function (event) {
        document.getElementById('status').innerText += "onopen:连接成功n";
    }
    webSocket.onmessage = function (event) {
        document.getElementById('status').innerText += "onmessage:" + event.data + "n";
    }
    webSocket.onclose = function (event) {
        document.getElementById('status').innerText += "onclose:连接关闭n";
    }
    webSocket.onerror = function (event, error) {
        document.getElementById('status').innerText += "onerror:" + error + "n";
    }
    //客户端发送的操作
    function clientSend() {
        var content = document.getElementById('content').value;
        webSocket.send(content);
        document.getElementById('status').innerText += "send:" + content + "n";
    }
    function clientClose() {
        webSocket.close();
        document.getElementById('status').innerText += "close:客户端关闭连接n";
    }
</script>

</body>
</html>

2.服务端:

<?php
    //创建websocket服务器
    $server = new swoole_websocket_server('0.0.0.0', 9504);

    //on
    //open 建立连接 $server 服务器, $request:客户端信息
    $server->on('open', function($server, $request){
        var_dump($request);
        $server->push($request->fd, "welcome n");
    });
    //message 接收信息
    $server->on('message', function($server, $request){
        echo "message: $request->data";
        $server->push($request->fd, "get it message");
    });
    //close 关闭连接
    $server->on('close', function($server, $request){
        echo "close n";
    });

    $server->start();

 启动webSocket服务:执行命令:php swoole_websocket.php

 

3.客户端浏览器访问webSocket服务:

(1).浏览器输入输出

(2).服务端输出

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/navioo/article/details/82786933
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-02 19:57:27
  • 阅读 ( 891 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢