![](/img/trans.png)
[英]Apache + Symfony2 + HTTPS + Node.js + Socket.io: socket.emit not firing
[英]Include Node.JS + Socket.IO in Symfony2 application
我做了很多研究,似乎找不到合适的解决方案。 我对PHP充满信心。 我也在Node.JS
和Socket.IO
上做了一些教程,我现在正在学习Symfony2
但我看不出如何合并这两个来实现我的目标。
我的目标是为我的应用的后端用户设置实时通知。 这个应用程序是一个电子商务网站,我希望一旦通过管理面板右上角的可视通知下达订单,就会警告幕后管理员。 我的服务器使用FreeBSD
。
我的计划是使用Node.JS
和Socket.IO
来实现这一目标。 如果有更好的计划,我愿意听到它。 否则,我找不到合适的资源来告诉我如何将Node.JS
和Socket.IO
到Symfony2
应用程序中。 我使用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.