swoole websocket 简单示例

请确保服务器已安装配置好swoole

1. 服务端 ws.php 

<?php
 
$server = new swoole_websocket_server("0.0.0.0", 9501);
 
$server->on('open', function (swoole_websocket_server $server, $request) {
    echo "server: handshake success with fd{$request->fd}\n";
});
 
$server->on('message', function (swoole_websocket_server $server, $frame) {
    foreach($server->connections as $key => $fd) {
        $user_message = $frame->data;
        $server->push($fd, $user_message);
    }
 
});
 
$server->on('close', function ($ser, $fd) {
    echo "client {$fd} closed\n";
});
 
$server->start();

2. 客户端 ws.html

<!DOCTYPE html>
<html> 
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style>
        *{
            margin:0px;
            padding:0px;
        }
    </style>
</head>
 
<body>
    <div style="margin-left:400px">
        <div style="border:1px solid;width: 600px;height: 500px;">
            <div id="msgArea" style="width:100%;height: 100%;text-align:start;resize: none;font-family: 微软雅黑;font-size: 20px;overflow-y: scroll"></div>
        </div>
        <div style="border:1px solid;width: 600px;height: 200px;">
            <div style="width:100%;height: 100%;">
                <textarea id="userMsg" style="width:100%;height: 100%;text-align:start;resize: none;font-family: 微软雅黑;font-size: 20px;"></textarea>
            </div>
        </div>
        <div style="border:1px solid;width: 600px;height: 25px;">
            <button style="float: right;" onclick="sendMsg()">发送</button>
        </div>
    </div>
</body>
 
</html>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
    var ws;
    $(function(){
        link();
    })
 
    function link () {
        ws = new WebSocket("ws://6hzp.cz.com:9501");//连接服务器
        ws.onopen = function(event){
            console.log(event);
            alert('连接了');
        };
        ws.onmessage = function (event) {
            var msg = "<p>"+event.data+"</p>";
            $("#msgArea").append(msg);
        }
        ws.onclose = function(event){alert("已经与服务器断开连接\r\n当前连接状态:"+this.readyState);};
 
        ws.onerror = function(event){alert("WebSocket异常!");};
    }
 
    function sendMsg(){
        var msg = $("#userMsg").val();
        ws.send(msg);
    }
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值