gpt4 book ai didi

php - 从 web 服务器到客户端 bowers 的实时通知

转载 作者:可可西里 更新时间:2023-11-01 12:44:32 26 4
gpt4 key购买 nike

我正在使用 php+mysql 开发约会中心 Web 应用程序。我目前尝试做的是在没有第三方推送器且不使用 jQuery SetInterval AJAX 请求的情况下从 Web 服务器向客户端/用户 bowers 发送通知。我认为 SetInterval 和 AJAX 是一种糟糕的方法,因为客户端和服务器之间的流量过多。

如何在不使用 SetInterval 轮询服务器的情况下实现通知?

最佳答案

您可以使用 NodeJs 来做到这一点。NodeJS 是服务器上的 javascript,可将内容实时推送到连接的客户端。

它真的很容易使用和设置。您需要一个专用于实时应用程序的服务器,我使用 http://nodejitsu.com .

服务器端

var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, url = require('url')

app.listen(8080);

function handler (req, res) {
// parse URL
var requestURL = url.parse(req.url, true);

// if there is a message, send it
if(requestURL.query.message)
sendMessage(decodeURI(requestURL.query.message));

// end the response
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end("");
}

function sendMessage(message) {
io.sockets.emit('notification', {'message': message});
}

客户端

<script src="socket.io.min.js"></script>
<script>
var socket = io.connect('http://localhost:8080');
socket.on('notification', function (data) {
console.log(data.message);
});
</script>

我在下面添加了@intivev 提供的易于使用的示例来为 future 的读者完成答案

关于php - 从 web 服务器到客户端 bowers 的实时通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16860106/

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