草庐IT

berkeley-sockets

全部标签

javascript - Socket.io 无法将数据发送到客户的唯一房间

我正在使用Node.js创建一个媒体上传微服务。该服务的工作原理是将上传的二进制数据接收到缓冲区,然后使用S3npm包上传到S3存储桶。我正在尝试使用该包中的eventEmitter,它显示上传到S3的数据量,并将其发送回正在上传的客户端(以便他们可以看到上传进度)。我正在使用socket.io将进度数据发送回客户端。我遇到的问题是socket.io中的.emit事件会将上传进度数据发送到所有连接的客户端,而不仅仅是发起上传的客户端。据我了解,一个套接字连接到“连接”上的默认房间,该房间由客户端的“id”镜像。根据官方文档,使用socket.to(id).emit()应该只将范围内的数

javascript - Node.js 到 Socket.io 时间延迟

我正在使用Node.js(v0.12.4)和Socket.io(1.3.2)开发实时交易应用程序。在那方面,当从Node.js向GUI(Socket.Io)发出响应时,我面临将近(100ms)的一些时间延迟。我不知道为什么在从Node.js向GUI(Socket.IO)发送数据时会出现时间延迟。这发生在生产现场。由于网络延迟,我们也尝试在生产服务器位置进行调试。但同样的结果。有人帮我解决这个问题吗? 最佳答案 Onehugethingtonotebeforedoingthefollowing.Whencalculatingtimin

javascript - Socket.io 从 Express Controller 发出

我是Node.js/Express的新手,我将其用作AngularJS应用程序的后端。我在StackOverflow上到处寻找有关我的问题的帮助,但我似乎无法弄清楚如何将这些建议移植到我的代码中。我的应用程序工作如下:一个长时间运行的Scala进程定期向我的Node.js应用程序发送日志消息。它通过发布到HTTPAPI来实现这一点收到帖子后,我的应用程序将日志消息写入MongoDB然后将日志消息实时发送到Angular客户端。我在使用Node模块时遇到问题,因为我不知道如何在ExpressController中引用套接字实例。如您所见,在server.js中,socket.io在那里被

javascript - socket.io 在服务器离线时发出

我正在使用socket.iov1.3.6(nodejs)并尝试使用以下代码从浏览器发出数据。客户端代码varsocket=io.connect('http://something.com:3300/');functionsendMessage(message){ socket.emit('message',message);}服务器代码vario=require('socket.io').listen(3300);io.sockets.on('connection',function(socket){messageHandler(socket);});functionmessageHa

javascript - 在 ec2 实例上使用 socket.io 时出现 "websocket connection invalid"错误?

我有一个使用node.js的express和socket.io编写的网络应用程序,该应用程序在本地主机上运行良好,但是当我推送到我的ec2服务器时,它连接大约20秒然后断开连接,然后再次连接等...给我Node控制台上的错误作为warn-websocketconnectioninvalidinfo-transportend服务器app=express()server=http.createServer(app)io=require('socket.io').listen(server)客户socket=io.connect()我知道问题不在我的代码上,因为我在本地主机上对Web应用程序

javascript - Node.js 服务器不提供 Socket.io

据我了解,来自http://socket.io/#how-to-use,node.js自动在服务器上提供socket.io文件。我已经使用npminstallsocket.io安装了socket.io,我可以看到它驻留在服务器根目录之上一级的node_modules中。服务器.js:varstatic=require('./plugins/node-static');varsocketIO=require('socket.io');varclientFiles=newstatic.Server('./client');varhttp=require('http');httpServer

javascript - Socket.IO 消息不更新 Angular 变量

我有一个socket.io客户端-服务器设置,在客户端上运行AngularJS。//Server.jsvario=require('socket.io')(server);io.on('connection',function(socket){socket.on('message',function(msg){//console.log(msg);console.log(msg);io.emit('message',msg);});});正如观察到的那样,它本质上会发出一个message事件,其中的数据存储在变量msg中。然后我有以下客户端代码。varcontainer=angular

javascript - socket.io 分配自定义 socket.id

我跟踪阵列中连接的每个用户的列表。所以如果有新的连接,它会检查用户是否已经在列表中,如果他已经在列表中,则将他们的socket.id分配给列表中相应的socket.id,否则就添加它们到列表中。这是为了防止同一用户在尝试进行多登录时被计为2个用户。Object.keys(client).forEach(function(key){if(client[key].id==data.id){is_connected=true;socket.id=key;}});我在处理尝试多登录的用户发送/接收的消息/聊天时没有问题。socket.on('chat',function(msg){vardat

javascript - 如何使用 webRTC、node.js 和 socket.io 构建多用户视频聊天网络应用程序

我正在尝试制作一个支持多用户视频聊天的网络应用程序。我读过一篇关于webrtc的文章“webrtc入门”(http://www.html5rocks.com/en/tutorials/webrtc/basics/)并在Codelab上做了一些演示。但我仍然不太清楚如何将其设为三方电话session。我对node.js和socket.io了解不多。刚开始学习它们,因为我正在尝试构建这个视频网络应用程序。所以我的问题是webrtc或socket.io的哪一部分决定了超过2个用户可以加入通话?或者你们给我的任何资源?提前致谢。 最佳答案

javascript - 在socket io中的事件回调函数中获取事件名称

我正在构建一个既充当套接字客户端又充当服务器的中间Node服务器,我想监听后端服务器事件,然后在处理后将事件转发给客户端(浏览器)。varsocket=require('socket.io'),client=require('socket.io-client');socket.on('event_name',function(data){/*Logictoprocessresponseandrelaytoclient*/client.emit(this.event,data);//HowcanIgetnameoftheouterevent?});我想在回调中获取event_name值。