WebSocket | html创建websocket链接

html创建websocket链接

<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>
<body>
<div style="width:400px;margin:20px auto;border:1px solid lightgray;padding:20px;text-align:center;">
    websocket 返回消息:¥<span style="color:#ff4719" id="message">没收到消息</span>
</div>
</body>
<script type="text/javascript">
    var websocket=null;
    //判断浏览器是否支持websocket
    if('WebSocket' in window){
        websocket=new WebSocket("ws://127.0.0.1:8901/alarmRtime/html");
        websocket.onopen=function(){
            websocket.send("{\"type\":\"html\",\"authorization\":\"fd277a6e83b60b232256ebc43d4b5e5a\"}");
        }
        websocket.onerror=function(){
            websocket.send("测试客户端连接失败");
			send("测试客户端连接失败");
        }
        websocket.onclose=function(){
            websocket.send("测试客户端连接关闭");
			send("测试客户端连接关闭");
        }
        websocket.onmessage=function(e){
            console.log("onmessage-----------------",e)
            send(e.data);
        }
        //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
        window.onbeforeunload = function () {
            closeWebSocket();
        }
    }
    else {
        alert('当前浏览器 Not support websocket')
    }
    //将消息显示在网页上
    function send(e) {
        document.getElementById('message').innerHTML =e;
    }
    //关闭WebSocket连接
    function closeWebSocket() {
        websocket.close();
    }
</script>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
首先,你需要确保已经安装了 Swoole 扩展和 Laravel Swoole 扩展,可以参考官方文档进行安装: Swoole:https://www.swoole.com/docs/get-started/installation Laravel Swoole:https://github.com/swooletw/laravel-swoole/blob/master/README.md 接下来,你可以创建一个 Laravel 的路由来测试 WebSocket链接,例如: ```php use Swoole\Http\Request; use Swoole\Websocket\Frame; use Swoole\WebSocket\Server; Route::get('/websocket', function () { return view('websocket'); }); Route::get('/websocket/ws', function (Request $request, Server $server) { $server->push($request->fd, "Hello, welcome to WebSocket server!"); }); Route::get('/websocket/wss', function (Request $request, Server $server) { $server->push($request->fd, "Hello, welcome to Secure WebSocket server!"); }); ``` 其中,`/websocket` 是一个展示页面的路由,`/websocket/ws` 和 `/websocket/wss` 分别是 WebSocket 和 Secure WebSocket 的路由。 在 `resources/views` 目录下,你需要创建一个 `websocket.blade.php` 文件,例如: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>WebSocket Test</title> </head> <body> <h1>WebSocket Test</h1> <button onclick="connectWS()">Connect WebSocket</button> <button onclick="connectWSS()">Connect Secure WebSocket</button> <div id="output"></div> <script> function connectWS() { let ws = new WebSocket('ws://127.0.0.1:9501/websocket/ws'); ws.onopen = function () { console.log('WebSocket connected.'); document.getElementById('output').innerHTML = 'WebSocket connected.'; }; ws.onmessage = function (event) { console.log('WebSocket received message:', event.data); document.getElementById('output').innerHTML = 'WebSocket received message: ' + event.data; }; } function connectWSS() { let ws = new WebSocket('wss://127.0.0.1:9502/websocket/wss'); ws.onopen = function () { console.log('Secure WebSocket connected.'); document.getElementById('output').innerHTML = 'Secure WebSocket connected.'; }; ws.onmessage = function (event) { console.log('Secure WebSocket received message:', event.data); document.getElementById('output').innerHTML = 'Secure WebSocket received message: ' + event.data; }; } </script> </body> </html> ``` 该页面中有两个按钮,分别用于连接 WebSocket 和 Secure WebSocket。当链接成功后,会在页面上显示相应的消息。 最后,你需要启动 Swoole 服务器来监听 WebSocket 和 Secure WebSocket 的请求,可以在 Laravel 项目根目录下执行如下命令: ``` php artisan swoole:http start ``` 启动成功后,访问 `http://127.0.0.1:1215/websocket` 即可进入 WebSocket 测试页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一介草民丶

谢谢老板的一分钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值