Tag: websocket

使用socketio的audio聊天

我在nodejs中是新的。 我正在开发语音聊天应用程序,在应用程序客户端可以说话,他的声音将广播(使用nodejs服务器)到其他客户端,我用socketio从麦克风发送声音到服务器,但我不知道如何接收器声音在客户端,谁能帮我? 用于发送语音的客户端代码(我不知道这是从麦克风发送语音的真实方式): navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; navigator.getUserMedia( {audio:true}, gotStream , onError ); function gotStream(stream) { var context; if (window.AudioContext) { context = new AudioContext(); } else { context = new webkitAudioContext(); } var mediastream = context.createMediaStreamSource(stream); var bufferSize = 2048; var myscriptnode = context.createScriptProcessor(bufferSize, 1, 1); myscriptnode.onaudioprocess = function […]

在连接build立之前,socket.io websocket被closures

当我连接服务器时,浏览器中的控制台打印出这个信息。 我仍然能够从服务器端发出事件,并将其caching在客户端,但我无法从客户端发出它们。 服务器端: var express = require('express'); var http = require('http'); var app = express(); var server = http.createServer(app); var io = require('socket.io').listen(server); server.listen(8080); app.get("/", function(req, res) { res.sendFile(__dirname + '/index.html'); }); io.on('connection', function(socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); 客户端: <!doctype html> <html> <head> <meta charset="UTF-8"> […]

如何通过websocket从node.js块获取blob数据?

我想获得blob数据并创build一个文件。 我的node.js服务器使用websocket wsServer = new WebSocketServer({ httpServer: http … }); wsServer.on('request', function(req){ … conn.on('message', function(msg){ … fs.stat(filepath, function(err, stats){ var fileSize = stats.size; var offset = 0; var stream = fs.createReadStream(filepath, { start: offset, end: fileSize }); stream.on('data', function(chunk){ conn.send(chunk); }); … }); }); }); 和客户端 var conn = new WebSocket(…); var fileReader = new […]

Websocket nodejs内存泄漏

我使用节点v4.2.1与socket.io(我已经testing,即使与websocket / ws得到“更好”的结果,但仍然不够)。 目前有几个打开的连接(hundreads)和内存的使用百分比是38%(我运行在AWS t2.small Ubuntu 14.04.2 LTS(GNU / Linux 3.13.0-48-generic x86_64)) 。 服务器代码很简单(仅用于testing): … declaration … io.on('connection', function(socket){ socket.send("hi"); }); 就客户端代码而言,我正在使用相应的socket.io版本。 插槽如何占用内存中的所有空间? 而且,我正在关注这个post: http://www.jayway.com/2015/04/13/600k-concurrent-websocket-connections-on-aws-using-node-js/ 我用–expose-gc标志运行服务器,但似乎不工作(每30秒我强制垃圾收集器global.gc ),任何猜测?

与Node.js,Websocket – Socket.IO和Redis进行简单聊天的多个实例

我正在尝试用Node.JS和使用Socket.IO的Websocket创build一个简单的聊天应用程序。 我通过这个德语教程启发了我自己,并为单个后端实例运行良好。 我想在后端有2个服务器实例,它们应该在彼此之间同步聊天消息,并将聊天logging存储在redis中。 当新的聊天室join时,客户端应该显示当前频道的最后10条消息。 我试图从这个stackoverflow页面应用解决scheme,但我得到一些问题。 首先我得到 连接到'ws:// localhost:8080 / socket.io /?EIO = 3&transport = websocket&sid = LEqGvY0CVk9YaSzBAAAA'的WebSocket连接失败:连接在收到握手响应之前closures 在控制台中的错误。 其次,两个客户端都在1秒内收到“有效载荷”消息。 我可能不明白如何重新同步机制的作品,我也不知道如何显示聊天logging。 这是我的代码到目前为止: var conf = require('./config.json'); var cluster = require('cluster'); var os = require('os'); if (cluster.isMaster) { // we create a HTTP server, but we do not use listen // that way, we have a socket.io […]

为什么TLSWrap对象消耗内存?

我正在使用nodejs 4.2.3版本,最近我观察到,在将数据上传到S3存储区时,内存堆积得很快(大约每个文件大小为1.5 GB)。 我采取了堆快照,显示TLSWrap对象保留大小1GB左右。 任何人都面临同样的问题? 提前致谢。

将Python连接到通过节点红色的网页

我想从我的Python程序中获取信息,并在网页上更新这个实时。 我正在尝试使用节点红色和通过networking套接字沟通。 我的python程序如下: #!/usr/bin/python import time import websocket ws = websocket.WebSocket(); ws.connect("ws://localhost:1880/ws/example") count = 0; while(count < 50): print "Sending 'Hello, World'…" ws.send("Hello, World") print "Sent" time.sleep(5) count = count + 1 ws.close() 使用节点红我已经build立了我的stream程如下: 节点红stream 但是,当我运行它们两个,我的python程序表示它正在发送消息,但节点红色控制台返回空msg值。

javascript节点套接字游戏等待房间内的所有用户进行响应

我正在使用networking套接字在服务器向当前房间的成员发送问题的节点上进行游戏。 然后我需要等到所有的用户都回答了答案,然后才转到下一个问题(我不想让别人知道下一个问题)。 我想我可以有一个全球性的var服务器端,我增加了每个client.on('join'…这样我就知道有多less用户在房间里,我可以做同样的事情,当用户有回应,即 var countResponses = 0; client.on('responds', function(d) { countResponses += 1; //do something with d if (countResponses == numUsers) { //… } }); 这是做这种事情的推荐方式吗? 感觉它会很快变得非常笨重

springwebsocket跺脚

即时通讯新的websocket和一直在探索springwebsocket解决scheme,我已经实现了来自以下url的Hello World应用程序: Spring websocket 。 我不想使用index.html页面,而是从nodejs调用服务器。 这是我用SockJS和Stompjs实现的。 var url = 'http://localhost:8080' var SockJS = require('sockjs-client'), Stomp = require('stompjs'), socket = new SockJS(url + '/hello'), client = Stomp.over(socket) function connect(){ client.connect({}, function(frame){ console.log(frame) client.subscribe(url + '/topic/greetings', function(greeting){ console.log(greeting) }) }) } function sendName(){ var name = 'Gideon' client.send(url + '/app/hello', {}, JSON.stringify({ 'name': name })) } […]

Swift / iOs /套接字:如何接收套接字“事件免费”的数据?

我正在努力构build一个简单的基本的真正的聊天应用程序,使用苹果的SWIFT客户端部分和nodejs的服务器端。 我使用websockets库来pipe理客户端/服务器通信。 我很快注意到,似乎我无法捕捉来自我的服务器的数据,而无需启动事件。 我试图让我的应用程序支持双向聊天,一方面在xcode 7中从我的iOS模拟器发送/接收消息,另一方面在桌面web浏览器(firefox)中做同样的事情。 从两个部分创build的所有消息都成功注册在我的mongodb数据库(通过nodejs mongoose),但在iOs模拟器时,我devise了一个聊天界面,我需要重新启动模拟器,每次我想看到新的传入消息。 我的目标是:在iOs仿真器UI中实时显示来自firefox和iOS模拟器的所有传入消息,当然使用套接字。 当我从我的浏览器发送消息到我的iOs应用程序,应该立即显示这一个。 当我从iOs用户界面发送信息的时候是这样的,但是从Firefox发出的信息却不是这样。 请,我需要一些帮助,以了解我的代码有什么问题(分三部分): Xcode / Swift: import Foundation import UIKit class ViewTwo: UIViewController,UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate{ var lab : [String!] = []; var desc : [String!] = []; var dictionnary : [String:String!] = ["user": nil,"message" : nil]; var voidDict:[String:String!] = ["content" : "whatever"]; @IBOutlet var tableView: UITableView! @IBOutlet var txtField: […]