Tag: socket.io

Sails.jssockets。 好的和坏的方面。 与socket.io不同

所以我现在正在学习Sails.js,更具体地说是框架的集成套接字function。 我喜欢这个框架,因为它非常适合构buildAPI。 我的问题是你可以给我一些比较socket.io和sails套接字。 我的意思是好的和坏的方面,是值得学习的风帆套接字或我应该只使用socket.io? 我可以在帆中使用socket.io是另一个问题。 我没有findSails.js套接字的任何教程,我很困惑。 另外我是新来的套接字,所以如果你可以像初学者一样解释。

基于/ link的Socket.io房间

我想实现使用socket.io在我的node.js项目聊天室。 我想创build一个基于任何访问该链接的所有人在该房间join的正斜杠链接的房间。 例如: 如果我的网站是nodeapp.com ,则可以通过访问nodeapp.com/funroom来创build一个空间。 任何进入nodeapp.com/funroom人(在房间里至less有一个人)可以全球聊天。 我不需要帮助实现聊天,只是房间。 非常感谢

Socket.io跨越不同的Node.js路由

我正在构build使用Express Framework以及Socket.io的简单Node.js应用程序。 不过,我试图通过不同的快速路线从服务器接收消息。 有没有办法通过服务器接收从一个路由发送到另一个路由的消息? 我已经给了我的代码非常简化的版本如下: app.js var express = require("express"), app = express(), http = require("http").createServer(app), fs = require("fs"), io = require("socket.io").listen(http); //Create a server var port = 9001; http.listen(port, function() { console.log("Server is running on port " + port); }); //Set up routes var anotherPage = express.Router(); anotherPage.route('/') .get(function(req, res, next) { res.sendFile('/AnotherPage.html', {root: […]

如何使用需要套接字连接的中间件?

我正在使用express.io并试图制作一个需要通过两个套接字连接到远程服务器的中间件。 但是,我有一个问题。 var net = require('net'); module.exports = function (host, port) { return function (req, res, next) { req._messages = net.connect(port, host); req._commands = net.connect(port, host); req._messages.on('data', function (data) { req.io.broadcast('data', data.toString('ascii')); }); req._messages.write('CF I\r'); // initialization command next(); } } 然后在我的主要应用程序: var port = process.env.CYLON_PORT; var host = process.env.CYLON_HOST; var app = require('express.io').http().io(); app.use(require('./cylon/controller')(host, […]

在快速路线内等待socketio事件

我在我的应用程序中使用express,socketio和socketio-client。 (我不是很喜欢nodejs堆栈…) 总结我的应用程序stream程:Client => node / express API + Socketoi server <=> nodejs(Socketio-client) 浏览器发送请求到一个nodejs / express(route / api) 做一些请求标题覆盖中间件 在路由“/”中,服务器发送一个发送给nodejs(Socketio-client) 在执行一些逻辑之后,socketio-client用逻辑结果发出一个事件 我需要这个结果发送到客户端的响应 我的代码如下: router.get('/*', function (req, res) { //emit data for socketio-client to apply some logic app.io.sockets.emit('req', { reqheader : req.headers, requrl : req.protocol + "://" + req.headers.host + req.url, reqmethod : req.method }); console.log("after […]

在客户端socket.io之间发送消息

我正在开发一个聊天应用程序,并使用socket.io / node 。 基本上我想出了以下策略: 从客户端发送的消息由套接字服务器接收,然后发送给接收客户端。 在后台,如果用户希望看到他以前的对话,则将其存储在数据库上的消息中以供稍后检索。 这种方法的优点是用户几乎是立即得到消息,因为我们不等待数据库操作完成,但是如果数据库操作失败,并且恰好这时客户端刷新了它的页面来获取消息,它不会得到的。 从客户端发送消息到服务器,然后服务器将其存储在数据库中,然后只发送给接收客户端。 优点是我们确保消息只有存储在数据库中才会被接收到客户端。 因为我们将在减慢消息传递的过程中进行数据库操作,所以它将无法接近实时。 发送消息到客户端,然后存储在caching层(例如redis),然后立即将其广播到接收客户端。 在后台保持从redis获取logging并更新数据库。 如果客户端刷新页面,我们首先查看数据库,然后查看redis层。 优点是我们可以更快地交stream沟通,并确保消息按需呈现。 与上述实现相比,这是相当复杂的,我想知道是否有更简单的方法来实现这一点? 我的问题是,如果你正在构build一个严格的聊天应用程序,以确保两者 – 更快的通信和数据持久性是什么路要走。 什么是一些像Facebook,WhatsApp的应用程序等使用相同的应用程序的策略? 我不是在寻找确切的例子,但有几个指针会有所帮助。 谢谢。

表示js – socket io连接

无法集成socket io和express js。 以下是我的html代码。 <html> <head> </head> <body> hello world. <script src="https://cdn.socket.io/socket.io-1.3.5.js"></script> <script src="http://code.jquery.com/jquery-1.11.1.js"></script> <script> var socket = io(); </script> </body> </html> 这是我的expressionjs的app.js。 var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var routes = require('./routes/index'); var users = require('./routes/users'); […]

我怎样才能得到一个socket.username? (socket.io)

我想写一个简单的聊天实践经验。 好的,但我不能得到一个socket.nickname通知join/离开房间。 (当我尝试通过它,他总是伤心'未定义')。 现在好了,试着创build房间清单 更新代码: client.js: $('#roomForm').submit(function() { socket.emit('createRoom', $('#roomName').val()); $('#roomForm').hide(); $('#chatForm').show(); return false; }); socket.on('message', function(data) { newMessage(data); }); socket.on('showRooms', function(rooms) { console.log(rooms); for(var i = 0; i < rooms.length; i++) { $('#rooms').append($('<li>') .append($('<form id="freeRoom">') .append($('<span id="room">').text(rooms[i] + ' ///')) .append($('<button>').text('connect')))); }; }); $('#freeRoom').submit(function() { socket.emit('connectToRoom', $('#room').text()); return false; }); server.js: io.on('connection', function(socket) { […]

使用node.js和localhost html客户端连接的socket.io.js错误

我得到错误socket.io.js:2919和net :: err_connection_refused只是想得到这个解决,感谢需要添加更多的细节来发布此 inheritance人的服务器套接字代码 var app = require('http').createServer(connectHandler), io = require('socket.io').listen(app), fs = require('fs'); app.listen(8080); function connectHandler (req, res) { fs.readFile(__dirname + '/client.html', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading client.html'); } res.writeHead(200); res.end(data); }); } var members = []; io.sockets.on('connection', function (socket) { socket.on('joined', function(data) { var mbr = data; […]

addPoint with HIGHCHARTS(xAxis dateTime)

我基于本教程实时创build图表。 http://www.highcharts.com/docs/working-with-data/live-data 然后,当我与nodejs和套接字我MODIFY代码但突然graphics不更新..这里是代码: 代码客户端: var chart; var series = Array(); socket.on('ping', function(data){ console.log(data); socket.emit('pong', {beat: 1}) //console.log(i); requestData(data); }); function requestData(point) { if(point !== null){ //console.log('if'+point); var series = chart.series[0], shift = series.data.length > 60; // shift if the series is longer than 20 //alert(point); chart.series[0].addPoint(point, true, shift); //setTimeout(requestData, 5000); } } $(document).ready(function() { chart […]