1

PHP ベースの Web アプリケーションでプッシュ通知を実装する方法。私が実際に実装したいのは、ユーザーがチャットに参加するとすぐに通知を受け取ることです。

2 人のユーザーがチャットに参加しているとします。3 番目のユーザーがそのチャットに参加すると、他の 2 人のユーザーに通知されます。

4

5 に答える 5

1

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>
于 2013-05-01T14:15:24.017 に答える