我的目标是建立一个聊天应用 - 类似WhatsApp的要知道关于socket.io和Redis的和nginx的东西
据我了解,socket.io是写在一个实时通信库中的JavaScript和它是使用
例如
// Serverside
io.on('connection', function(socket) {
socket.on('chat', function(msg) {
io.emit('chat', msg);
});
});
// ClientSide (Using jquery)
var socket = io();
$('form').submit(function(){
socket.emit('chat', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat', function(msg){
$('#messages').append($('<li>').text(msg));
});
1)我总是需要启动一个io.on('connection')
使用实时功能,或者我可以重新使用socket.on
对象,而不是很简单呢?例如我有一条路由
app.post('/postSomething', function(req, res) {
// Do i need to start an io.on or socket.on here?
});
因为我希望实时功能只能在特定路由上监听。
2)Redis是一个处理pub/sub的数据结构库,为什么我们需要使用pub/sub机制? 我读了很多文章,但无法理解这个概念。第二十例如http://ejosh.co/de/2015/01/node-js-socket-io-and-redis-intermediate-tutorial-server-side/
例如下面
// Do i need redis for this, if so why? is it for caching purposes?
// Where does redis fit in this code?
var redis = require("redis");
var client = redis.createClient();
io.on('connection', function(socket) {
socket.on('chat', function(msg) {
io.emit('chat', msg);
});
});
3)只是想知道为什么我需要nginx的规模node.js的应用程序的代码?我发现这个计算器的答案: Strategy to implement a scalable chat server
它说一些关于负载均衡,阅读,网上,无法把握的概念也是如此。
到目前为止,我只处理node.js,猫鼬简单的CRUD应用程序,但我愿意努力工作,如果你们可以分享一些你的知识并分享一些有用的资源,以便我可以加深我的知识关于所有这些技术。
干杯!
你有3个问题;发布他们作为三个单独的问题堆栈溢出,这将帮助你得到答案 –
@BasitAnwer之所以我问一切在一个问题,因为我必须等待90分钟的每个问题 –
@BasitAnwer如果你能帮助我,并回答问题,这将是非常有帮助 –