Articles of 广播

Socket.io和Redis广播给除发件人以外的所有客户

我在后端使用Laravel来创build一个聊天应用程序。 但是当我使用redis ,我无法使用broadcast.send函数。 现在如何发送消息给除发件人以外的所有客户? 此代码有错误: io.broadcast.send(channel +':'+ message.event,message.data); 这是我所有的服务器代码: var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); var Redis = require('ioredis'); var redis = new Redis(); redis.subscribe('chat'); redis.on('message', function(channel, message) { console.log('Message Recieved: ' + message); message = JSON.parse(message); // send all client except sender io.broadcast.send(channel + ':' + message.event, message.data); […]

在Node.js中发送和接收来自255.255.255.255的UDP广播

我试图在Node中实现一个BOOTP服务器,为此,广播是必需的。 可悲的是,文件有点混乱,我一直在奇怪的错误。 有趣的是,在Windows 7和Ubuntu上的错误是不一样的。 有人真的设法发送一个UDP广播到255.255.255.255或接收这个地址下的一个? 有人能给我一个简单的节点UDP广播演示?

NodeJS basedRadio(没有ShoutCast)

我喜欢创build一个基于NodeJS的广播电台, 而不使用ShoutCast。 基于NodeJS的播放列表 目前我已经设法将一个audio文件传送到浏览器,但是我不知道如何创build一个服务器端播放列表 ,这个播放列表持续地“播放”当前歌曲,并在到达结束时重新启动它。 那是我目前的做法: 'use strict'; var http = require('http'); var fs = require('fs'); var mm = require('musicmetadata'); var ID3 = require('id3'); var express = require('express'); var app = express(); var stream; function startPlaylist() { stream = fs.createReadStream(__dirname + '/AnsolasChill_loop.mp3', { start: 0 }); //10130000 /* * Start serverside "Playback" here. * Restart […]

广播现场摄像头stream

我想logging我的摄像头,并实时向其他客户端广播stream。 我可以很容易地在同一页面的video标签中显示我的摄像头: function initialize() { video = $("#v")[0]; width = video.width; height = video.height; var canvas = $("#c")[0]; context = canvas.getContext("2d"); nav.getUserMedia({video: true}, startStream, function () {}); } function startStream(stream) { video.src = URL.createObjectURL(stream); video.play(); requestAnimationFrame(draw); } function draw() { var frame = readFrame(); if (frame) { replaceGreen(frame.data); context.putImageData(frame, 0, 0); } requestAnimationFrame(draw); } function […]

Node.js表示websocket不会广播给所有连接的客户端

我试图创build一个节点WebSocket消息和广播使用openshift 。 以下是我的代码。 var WebSocketServer = require('ws').Server; var http = require('http'); var ipaddr = opneshift_ip; var port = openshift_port; var server = http.createServer(); var wss = new WebSocketServer({server: server, path: '/connectserv'}); wss.broadcast = function(data) { for(var i in this.clients) { console.log(this.clients[i]); this.clients[i].send(data); } }; wss.on('connection', function(ws) { console.log('a client connected'); ws.on('message', function(data) { console.log('>>> ' […]

如何在Node.js中将UDP广播结果输出到http服务器?

我试图redirect一个简单的UDP广播结果,其中包含几个来自不同设备的(2秒)延迟消息,并将结果呈现为http响应。 下面的代码运行良好,我可以看到收集到的广播消息与console.log,但networking响应是空的。 如何正确实现这个? var dgram = require("dgram"); var http = require('http'); function broadcast(callback) { var data = ''; var server = dgram.createSocket("udp4"); server.on("message", function (message, rinfo) { data += message; }) server.bind(11000); var socket = dgram.createSocket("udp4"); socket.bind(); socket.setBroadcast(true); socket.send(Buffer([3]), 0, 1, 11001, '255.255.255.255', function(err, bytes) { socket.close(); }); // dealy to collect all messages in […]

Socket.io服务器不能播放到房间

io.on("connection", function(socket){ … socket.on("join", function(id){ socket.join(room); socket.broadcast.to(room).emit("joined", …); … }); … }); socket.broadcast.to(room).emit("joined", …); 没有任何影响,它不会发射到房间的事件 我已经尝试使用: socket.to(room).emit("joined", …) socket.in(room).emit("joined", …) io.sockets.in(room).emit("joined", …); io.to(room).emit("joined", …); io.in(room).emit("joined", …); 我使用的是socket.io服务器v1.3.7 任何解决scheme

socket.io是否仅向用户广播?

请检查下面的服务器端代码。 假设在某个瞬间data.id为abc77,那么无论是否引发了socket.io事件,每个连接的浏览器都会收到套接字消息“my_model / abc77:update”,还是只接收到订阅此特定消息的套接字消息,不? 为了澄清,使用一个实际的应用程序:即使他的应用程序的实例没有订阅,黑客能够使用浏览器的开发者控制台接收消息“my_model / abc77:update”,不知道data.id是abc77? var io = require('socket.io'); io.listen ( server ).sockets.on ( 'connection', function ( socket ) { socket.on('my_model:update', function(data, callback) { database.save(data, function(err){ if (!err) { callback(data); socket.broadcast.emit('my_model/'+data.id+':update'); } }); }); });

在收听特定端口时接收广播的数据包

当通过dgram.createSocket('udp4');设置套接字时dgram.createSocket('udp4'); 而不绑定到一个特定的端口,我收到广播的数据包发送到255.255.255.255但是,当我绑定到我的接口的特定IP相同的套接字this.server.bind(67, host); 我不会收到这些广播的数据包。 这是一个正常的行为?

发送广播数据报

我需要将广播数据报发送到连接到我的networking的所有机器(服务器)。 我正在使用NodeJS多播 客户 var dgram = require('dgram'); var message = new Buffer("Some bytes"); var client = dgram.createSocket("udp4"); client.send(message, 0, message.length, 41234, "localhost"); // If I'm in the same machine 'localhost' works // I need to do something 192.168.0.255 or 255.255.255 client.close(); 服务器 var dgram = require("dgram"); var server = dgram.createSocket("udp4"); server.on("message", function (msg, rinfo) { […]