gpt4 book ai didi

PHP Ratchet 网络套接字$conn->send($msg)!如何在客户端获取此消息?

转载 作者:行者123 更新时间:2023-12-04 16:14:30 26 4
gpt4 key购买 nike

这是我的代码(使用 rachet 和 wamp 服务器的 websocket php!

public function onClose(ConnectionInterface $conn) {
$conn->send("Close client");
}

我将使用 $conn->send() 向所有客户端发送消息,但我不知道如何在客户端上使用 autobahnJS 获取此消息?

更新
我找到了解决这个问题的方法!

1) 在 autobahnJS 中启用 Debug模式
ab.debug( true, true );

2) 使用 conn._websocket.onmessage 从服务器获取每个消息响应。
conn._websocket.onmessage = function (e){
data = JSON.parse(e.data);
console.log(data[1]);
if(data.cat=='serverEvents'){
switch(data.action) {
case 'updateServerinfo':
jQuery.updateServerinfo(data.actionData);
break;
}
}
};

谢谢大家。

最佳答案

autobahnJS 有自己的方式来处理客户端对服务器的请求。您正在尝试从服务器向所有客户端发送请求(“关闭所有客户端”请求)。最好的方法是让一个线程使用 JS 的 setInterval() 函数每 X 秒轮询一次服务器的事件。例如。:

setInterval(checkForUpdate, 60 * 1000);

并在 checkForUpdate() 中:

function checkForContentUpdate(timetableId) {
var serviceUrl = 'http://yourscripttocheckhere';

var xhr = $.ajax({url: serviceUrl, cache: false, success: function(content) {
// Check server reply and act accordingly
}});
}

关于PHP Ratchet 网络套接字$conn->send($msg)!如何在客户端获取此消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16671738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com