我使用的是使用PHP5和Chrome浏览器作为客户端的web套接字.

我运行服务器,客户端也已连接.我也可以聊天.

如何做到这一点?比如,当我获得断开连接的信息时,我应该判断它并将其发送到JavaScript以刷新页面还是重新连接?

推荐答案

服务器重新启动时,Web套接字连接关闭,因此会触发JavaScript onclose事件.下面是一个每五秒钟try 重新连接的示例.

function start(websocketServerLocation){
    ws = new WebSocket(websocketServerLocation);
    ws.onmessage = function(evt) { alert('message received'); };
    ws.onclose = function(){
        // Try to reconnect in 5 seconds
        setTimeout(function(){start(websocketServerLocation)}, 5000);
    };
}

Php相关问答推荐

PHP php_mongodb.dll for 32bit

自定义WooCommerce查询字符串仅显示前3个产品

在WooCommerce我的帐户部分添加带有自定义链接的自定义菜单项

根据未用于变体的产品属性隐藏WooCommerce发货方式

在PHP中循环访问多维数组,并按组显示内容

使用PHP编码的字符串与使用OpenSSL编写的shell 代码之间的差异

根据类别的数量折扣更改WooCommerce购物车商品价格

如何在自定义邮箱内容中获取WooCommerce订单项目的详细信息?

如果在 APIPlatform 3.1 中的同一资源上使用处理器,Messenger 将无法工作

如何更新 Laravel Eloquent 列强制转换为集合

PHP 解析 XML 以获取多个深度的所有字符串值

如何获得没有运输等级的产品

如何在 laravel 中的同一个 slug 上显示不同的内容?

Laravel auth()->id() 在生产服务器中不工作

PHP 日期格式:ISO8601 与 ISO8601_EXPANDED

将变量从中间件传递到控制器 Laravel

Laravel 10 单元测试看不到来自 Artisan Command 的数据库更改

如何将数字文本文件添加到 PHP 数学方程式中?

Docker: unixodbc.h 没有这样的文件或目录.已安装 unixodbc-dev 时出现pecl install sqlsrv错误

我正在使用 Baryryvdh/laravel-snappy 从 HTML 导出 PDF 它正在工作但缩小了 pdf 文件