Tag: 套接字

通过socket.io 1.0现场audio

从socket.io网站 二进制stream媒体 从1.0开始,可以发送任何blob:图像,audio,video。 我现在想知道,如果这不能解决我最近想做的事情。 实际上,我正在寻找一种方法,将(A – 即麦克风input…)的现场audiostream广播到连接到我的网站的所有客户端。 是这样的可能吗? 我一直在搞乱WebRTC( https://www.webrtc-experiment.com/ )的例子,但是我还没有能够为less数连接的客户端pipe理目标。 我的想法是关于像getUserMedia或任何其他audio源(PCM,无论.. ..)被切碎,并提供给客户端和播放例如HTML5audio元素或任何东西..我需要做的stream尽可能实时,没有大声/冰投服务不够快(事实上,他们不是我的问题的解决scheme,他们的意思是用这种方式),我并不关心audio质量。 跨平台兼容性将会很棒。 是这样的可能吗? 通过使用socket.io作为如何将这些数据提供给客户端? 我将非常感谢任何参考,提示或来源,可以帮助我实现这一点。 非常感谢。

只能从node.js中的套接字读取前N个字节

var server = net.createServer(function(c) { //… c.on('data', function(data) { //The data is all data, but what if I need only first N and do not need other data, yet. c.write(data); }); //… }; 有没有办法只读取定义的部分数据? 例如: c.on('data', N, function(data) { //Read first N bytes }); 其中N是我期望的字节数。 所以callback只有M个字节中的N个。 解决办法是(感谢mscdex): c.on('readable', function() { var chunk, N = 4; […]

在node.js中共享一个端口的多个套接字(通过socket.io)

我不知道如何在服务器端同时使用多个套接字的单一端口。 我们如何在node.js中做到这一点 我目前使用的是socket.io,每个端口有一个套接字。 如果解决scheme不存在,但也有可能,那么也请给你的build议,以实现相同的。 如果我们共享一个端口,那么还有什么问题呢? 考虑到客户端可能处于空闲状态,但会占用服务器上的端口,因此我们需要为每个客户端维护套接字连接,其他相关选项可能是什么?

如何在NodeJS中编码双向双工stream

在最新的几个版本的NodeJS(v0.10.X截止撰写)中,Streams API经历了一个可喜的重新devise,现在我想开始使用它。 我想用一个实现一个协议的对象包装一个套接字的input和输出。 所谓的Duplex接口,似乎只是任何可读写的stream(如套接字)。 目前尚不清楚Duplexes是否应该像A或B一样,还是不重要。 +—+ +—+ –>| A |–> | |–> +—+ | B | | |<– +—+ 对于有两个可写和两个可读的对象,什么是正确的代码结构/接口? +——–+ +———-+ +—- | r|–>|wr|–>|w | socket | | protocol | | rest of app | w|<–|rw|<–|r +——–+ +———-+ +—- 上图的问题是protocol对象需要两个独立的read方法和两个write方法。 在我的头顶,我可以使协议产生“左”和“右”双工对象,或者“进出”双工对象(以不同的方式)。 这些都是首选的方法,还是有更好的解决scheme?

简单地发射的一个套接字和一个易于发射的套接字之间有什么区别?

这是对以下问题的后续问题; 为什么updateSockets()函数接受一个像这样的参数? 在下面的代码中,套接字使用volatile来发射。 var updateSockets = function(data) { // adding the time of the last update data.time = new Date(); console.log('Pushing new data to the clients connected ( connections amount = %s ) – %s', connectionsArray.length , data.time); // sending new data to all the sockets connected connectionsArray.forEach(function(tmpSocket) { tmpSocket.volatile.emit('notification', data); }); }; 如果代码被更改成tmpSocket.emit('notification', data); […]

如何创build一个可重用的Socket.IO模块

我有创build一个暴露我的Socket.IO库function的模块的麻烦: const sio = require('socket.io'); module.exports = function(server) { const io = sio(server); return { register: function(namespace) { let nsp = io.of(namespace); nsp.on('connect', function(socket) { // … } } } } 现在的问题是如何在其他模块中使用这个? 在我的app.js 我使用Express创buildserver ,并可以使用require('./mysocketio')(server)实例化模块,但不能在其他模块中使用,因为服务器在那里不可用。 什么是解决这些循环依赖的好方法?

在ec2实例上使用socket.io获得“websocket连接无效”错误?

我有这个networking应用程序与express和socket.io使用node.js编写,该应用程序在本地主机上运行良好,但是当我推到我的ec2服务器,它连接像20秒,然后断开连接,然后再次连接等… 给我在节点控制台上的错误 warn – websocket connection invalid info – transport end 服务器 app = express() server = http.createServer(app) io = require('socket.io').listen(server) 客户 socket = io.connect() 我知道问题不在我的代码中,因为我完全testing了本地主机上的Web应用程序,所以唯一的问题是这个代码在哪里运行,这是我的EC2实例?

节点jsnetworking套接字+ websocket没有socket.io

我想用node.js创build类似char的东西我是nodejs的新手,我想创build它没有socket.io(我想了解它是如何工作的)。 这是我使用的代码。 var http = require('http'); var net = require('net'); var server = http.createServer(function(req,res){ res.writeHead(200,{'content-type' : 'text/html'}); res.write('<a href="./lol/">lol</a><br>'); res.end('hello world: '+req.url); var client = new net.Socket(); client.connect('7001', '127.0.0.1', function() { console.log('CONNECTED TO: '); // Write a message to the socket as soon as the client is connected, the server will receive it as message […]

Socket.IO与扭曲

我的想法是为iOS和Android构build一个简单的聊天应用程序。 无论如何,我的问题与服务器端有关。 根据我所读的,做聊天应用程序的最佳select是构build套接字。 提到数据库,我的意图是使用MySQL,为了select其中一种可能性,这也可能是重要的。 我的问题是, 就可伸缩性,速度和安全性而言,这是最好的select:使用Twisted或使用Socket.IO的NodeJS构buildPython套接字? 我想可能还有其他的可能性来构build一个高效的套接字,但现在我正在考虑这两个。 如果你能给我一些build议,我真的很感激。

PHP,nodeJS和会话

我有一个经典的Apache服务器提供的PHP文件,和一个nodeJS服务器(与socket.io,但没有快速/连接)用于实时事件pipe理该PHP网站。 我有时需要authentication连接到nodeJS服务器的客户端,但是当用户重新加载页面时,这个authentication会丢失,因为它也重新加载了socket.io客户端(我在服务器上存储了套接字ID,每次刷新都会丢失) 问题是:有没有办法保持连接在socket.io,或链接的Apache PHP会话和nodeJS服务器的方式? 或者也许一种方法来保持使用cookie的身份validation(知道我必须存储敏感数据,如用户密码和密钥)?