- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试构建一个通知消息系统。我正在使用 SimpleWsServer.php服务器示例。当服务器上的任务完成时,我想向用户的浏览器推送通知。这需要使用 PHP 完成,我找不到显示此内容的教程。所有教程似乎都显示了在 PHP 服务器作为管理器运行时发送和接收的 tavendo/AutobahnJS 脚本。
是否可以使用 php 脚本向订阅者发送消息?
最佳答案
天文,
这实际上非常简单,可以通过几种不同的方式完成。我们将高速公路客户端设计为模仿 AutobahnJS 客户端,因此大多数简单示例将直接翻译。
我假设您想从网站(不是长时间运行的 php 脚本)发布。
在您的 PHP 网站中,您需要执行以下操作:
$connection = new \Thruway\Connection(
[
"realm" => 'com.example.astro',
"url" => 'ws://demo.thruway.ws:9090', //You can use this demo server or replace it with your router's IP
]
);
$connection->on('open', function (\Thruway\ClientSession $session) use ($connection) {
//publish an event
$session->publish('com.example.hello', ['Hello, world from PHP!!!'], [], ["acknowledge" => true])->then(
function () use ($connection) {
$connection->close(); //You must close the connection or this will hang
echo "Publish Acknowledged!\n";
},
function ($error) {
// publish failed
echo "Publish Error {$error}\n";
}
);
});
$connection->open();
javascript 客户端(使用 AutobahnJS)将如下所示:
var connection = new autobahn.Connection({
url: 'ws://demo.thruway.ws:9090', //You can use this demo server or replace it with your router's IP
realm: 'com.example.astro'
});
connection.onopen = function (session) {
//subscribe to a topic
function onevent(args) {
console.log("Someone published this to 'com.example.hello': ", args);
}
session.subscribe('com.example.hello', onevent).then(
function (subscription) {
console.log("subscription info", subscription);
},
function (error) {
console.log("subscription error", error);
}
);
};
connection.open();
关于php - 使用带有 voryx Thruway WAMP 消息传递系统的 php 发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26135281/
聊天应用示例。 Mr A (07-Aug-2017 15:01) : hello all Mr B (07-Aug-2017 15:20) : hello Mr A 服务器日期时间 (dd-mmm-y
我想将 websocket 用于投票应用程序。有两个部分:一个是聊天 channel ,另一个是命令 channel ,其中有关问题、可用答案、倒计时等的信息将传播。 在客户端,我使用 Autobah
我正在尝试构建一个通知消息系统。我正在使用 SimpleWsServer.php服务器示例。当服务器上的任务完成时,我想向用户的浏览器推送通知。这需要使用 PHP 完成,我找不到显示此内容的教程。所有
我是一名优秀的程序员,十分优秀!