繁体   English   中英

在Symfony2应用程序中包含Node.JS + Socket.IO

[英]Include Node.JS + Socket.IO in Symfony2 application

我做了很多研究,似乎找不到合适的解决方案。 我对PHP充满信心。 我也在Node.JSSocket.IO上做了一些教程,我现在正在学习Symfony2但我看不出如何合并这两个来实现我的目标。

我的目标是为我的应用的后端用户设置实时通知。 这个应用程序是一个电子商务网站,我希望一旦通过管理面板右上角的可视通知下达订单,就会警告幕后管理员。 我的服务器使用FreeBSD

我的计划是使用Node.JSSocket.IO来实现这一目标。 如果有更好的计划,我愿意听到它。 否则,我找不到合适的资源来告诉我如何将Node.JSSocket.IOSymfony2应用程序中。 我使用composer来安装bundle,但我没有将NPM与Symfony2一起使用。

我发现了这个问题这个链接其他问题可以帮助我,但这些都没有告诉我如何在Symfony2应用程序中安装Node.JS

如果有人可以帮我完成让我开始开发此功能的步骤,我会很高兴。

谢谢!

对于那些可能对答案感兴趣的人:

$ su -

安装Node.JS

$ cd /usr/ports/www/node

$ make install clean

安装NPM

$ cd /usr/ports/www/npm

$ make install clean

安装Socket.IO

$ cd /path/to/your/project/js/public/files

$ npm install socket.io

开发代码

app.js

var http = require('http');
var fs = require('fs');

var server = http.createServer(function(req, res) {
    fs.readFile('./index.html', 'utf-8', function(error, content) {
        res.writeHead(200, {"Content-Type": "text/html"});
        res.end(content);
    });
});

var io = require('socket.io').listen(server);

io.sockets.on('connection', function (socket) {
    socket.on('newOrder', function () {
        socket.broadcast.emit('message', 'Nouvelle commande');
    });
});

server.listen(4321);

前端

<script src="{{ asset('http://localhost:4321/socket.io/socket.io.js') }}"></script>

<script>
    jQuery(function($) {
        var socket = io.connect('http://localhost:4321');

        $('form').on('submit', function() {
            socket.emit('newOrder', '1');
        });

    });
</script>

后端

<script>
    jQuery(function($) {    
        var socket = io.connect('http://localhost:4321');

        socket.on('message', function(message) {
            alert(message);
        });
    });

</script>

启动服务器

$ node app.js

就这样!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM