PHP ベースの Web アプリケーションでプッシュ通知を実装する方法。私が実際に実装したいのは、ユーザーがチャットに参加するとすぐに通知を受け取ることです。
2 人のユーザーがチャットに参加しているとします。3 番目のユーザーがそのチャットに参加すると、他の 2 人のユーザーに通知されます。
PHP ベースの Web アプリケーションでプッシュ通知を実装する方法。私が実際に実装したいのは、ユーザーがチャットに参加するとすぐに通知を受け取ることです。
2 人のユーザーがチャットに参加しているとします。3 番目のユーザーがそのチャットに参加すると、他の 2 人のユーザーに通知されます。
NodeJS + SocketIOをスタックに追加するのはどうですか?
SocketIO を使用すると、クライアント用のルームを作成でき、クライアントのルームにメッセージを送信できます。
基本的な例を示しましょう。
通知.js
var app = require('http').createServer(),
io = require('socket.io').listen(app);
app.listen(3000);
io.sockets.on('connection', function (socket) {
// Joining a room
socket.join('chatroom');
socket.on('newUserJoinRequest', function(data) {
socket.broadcast.to('chatroom').emit('newUserJoinedNotification', data);
})
});
client.html
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://localhost:3000/socket.io/socket.io.js"></script>
</head>
<body>
<input type="text" id="username" placeholder="name">
<button type="text" id="joinButton">Join</button>
<div id="responses">
<h2>NodeJS+SocketIO responses:</h2>
<ul></ul>
</div>
<script>
var socket;
jQuery(document).ready(function() {
socket = io.connect('//localhost:3000');
socket.on('newUserJoinedNotification', function(data) {
var li = '<li>A new user joined the room: ' + data.name + '</li>';
jQuery('#responses ul').append(li);
});
});
jQuery('#joinButton').click(function() {
var username = jQuery('#username').val();
socket.emit('newUserJoinRequest', {name: username});
});
</script>
</body>
</html>