Articles of 套接字

什么可以做node.js或socket.io?

我们可以用node.js,socket io或任何服务器端JavaScript来做什么? 我知道每一种编程语言或框架都有自己的特点或function,使其不同于其他。 例如,我们专门用jQuery来devise漂亮的UI。 在这个观点上,学习node.js的必要性是什么?

socket.io只广播给在A和B房间的用户

是否有可能将socket.io广播给位于A房间和B房间的命名空间的所有用户,而不是刚好在A房间或B房间的那些用户。 如果没有,我将如何去实施这个自己? 有没有办法检索名字空间中的所有用户在一个给定的房间? 我正在与节点中的socket.io 1.0 编辑:如果没有本地方法,我将如何创build我自己的语法,如: socket.broadcast.in('room1').in('room2').emit(…) ?

Laravel与Redis的广播不工作/连接?

所以我试图在Redis的帮助下播放Laravel 5 Events。 不,我不想使用像Pusher这样的服务,因为它不是免费的(即使免费的限制对我来说是足够的),我想保持对广播服务器的控制。 所以我到目前为止所做的是,我build立了一个redis服务器(侦听端口6379 – >默认),我已经设置了以下事件: class MyEventNameHere extends Event implements ShouldBroadcast { use SerializesModels; public $data; /** * Create a new event instance. * * @return \App\Events\MyEventNameHere */ public function __construct() { $this->data = [ 'power' => 10 ]; } /** * Get the channels the event should be broadcast on. * * […]

Nodejs&套接口io:警告 – 错误引发:错误:听EADDRINUSE

我正在尝试Node.js与socket.io 现在这里是我的情况我是Ubuntu的12.04用户,我有桌面上的文件夹PP 里面,我把服务器文件即app.js 这里是内容 var fs = require('fs') , http = require('http') , socketio = require('socket.io'); var server = http.createServer(function(req, res) { res.writeHead(200, { 'Content-type': 'text/html'}); res.end(fs.readFileSync(__dirname + '/index.html')); }).listen(8080, function() { console.log('Listening at: http://localhost:8080'); }); socketio.listen(server).on('connection', function (socket) { socket.on('message', function (msg) { console.log('Message Received: ', msg); socket.broadcast.emit('message', msg); }); }); 现在在同一个文件夹中,我有另一个文件index.html <html> <head> […]

nodejs https错误:套接字与本地主机挂起

我有这个小的代码片段的目标托pipe在本地主机上的端点 var https = require('https'); var options = { hostname: 'localhost', port: 443, path: '/', method: 'GET', agent: false }; var req = https.request(options, function(res) { console.log("statusCode: ", res.statusCode); console.log("headers: ", res.headers); res.on('data', function(d) { process.stdout.write(d); }); }); req.end(); req.on('error', function(e) { console.error(e); }); 我总是得到错误: {[错误:套接字挂断]代码:'ECONNRESET',sslError:undefined} 看起来,请求甚至不被端点接收,因为它没有被捕获,并且没有超时发生。 如果我从浏览器尝试https:// localhost之类的请求,则发送成功。 如果我只是将代码中的主机更改为诸如encrypted.google.com之类的东西,那么它也可以成功运行。 任何人都知道为什么会这样呢? 编辑 :我也试着添加像接受,用户代理等等的浏览器发送相同的头,但仍然无法正常工作 编辑2 :这是我login时出现的堆栈跟踪: […]

socket.io:无法加载资源

我试图开始使用socket.io和node.js。 在socket.io的网站上的第一个例子后,我在浏览器的控制台中收到以下错误: Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3001/socket.io/socket.io.js Uncaught ReferenceError: io is not defined 这是我的server.js var app = require('express').createServer() , io = require('socket.io').listen(app); app.listen(3001); app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); }); io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function […]

如何用Node.js唯一标识一个套接字

TLDR; 如何在基于事件的编程模型中识别套接字。 我刚开始使用node.js,过去我已经完成了大部分C ++和PHP sockets()的编码工作,所以node.js对我来说是一个非常新的东西。 在c ++中,为了识别一个套接字,我们可以做一些事情,比如编写一个主套接字说服务器来监听新的连接和更改,然后相应地处理这些连接。

Sails.js简单的私人消息传递(pub / sub和模型)

我的目标: 用最简单的代码创build一个使用Sails.js的私人消息传递平台 最佳实践的假设: 使用Sails.js Webockets进行实时通知 使用Sails.js PubSub for DB使用websockets 使用Sails.js .watch()来获取消息 我的问题: 我可以有套接字只看一些新的模型(例如find哪里用户名匹配发件人或收件人ID)或我需要设置房间? select性观察似乎更容易,但文件似乎并不支持它。 如果我上面的任何假设或问题不是实现我的目标的最佳方法,那么使用Sails实现私人消息传递的最简单方法是什么? 我试过的东西: 订阅和观看套接字 阅读Sails.js文档 看着风帆的例子(使用房间) searchStackOverflow和Google for sails聊天示例

Socket.ioerror handling

我有一个Socket.IO的问题。 我想套接字错误后重新连接套接字,但它不会重新连接。 这里是代码: socket = io.connect(host, options); socket.on('connect', this.onConnect); socket.on('error', function() { //here i change options socket = io.connect(host, options); }); 为什么它不创build新的连接? (主机和端口保持不变,并可用于第一个连接)。

node.js – 处理TCP套接字错误ECONNREFUSED

我使用socket.io的node.js让我的网页访问由TCP套接字提供的字符数据。 我对node.js很陌生 用户 —-> 网页 < – (socket.io) – > node.js < – (TCP) – > TCP服务器 代码是仁慈简洁的: io.on('connection', function (webSocket) { tcpConnection = net.connect(5558, 'localhost', function() {}); tcpConnection.on('error', function(error) { webSocket.emit('error', error); tcpConnection.close(); }); tcpConnection.on('data', function(tcpData) { webSocket.emit('data', { data: String.fromCharCode.apply(null, new Uint8Array(tcpData))}); }); }); 在正常情况下,这一切工作正常,但我不能保证TCP服务器会一直在那里。 当它不是,TCP堆栈返回ECONNREFUSED到node.js – 这是完全预期的,我需要处理它的优雅。 目前我看到: events.js:72 throw er; // […]