Articles of 套接字

在Node.js中获取套接字描述符

我想在Node.js中打开一个套接字,然后用inheritance套接字描述符的subprocess启动一组subprocess。 我用new net.Server()创build了一个服务器,但是生成的对象没有公开套接字描述符。 如果我能得到描述符,我可以将描述符转发给subprocess。

整合yeoman和socketstream

我一直在开发angular度yeoman项目和开发过程是优雅与yeoman提供necesaary工具的发展目的。 在这个项目的这个阶段,我们正在考虑将socketstream添加到这个项目中,但是socketstream提供了和yeoman类似的用法,但是经常发生冲突。 例如,像两个如何提供不同的目录结构,是否有可能使用套接字stream,并添加一些生成/皮棉任务? 或者是有没有办法整合yeoman和SS为一个项目。

如何使用socketio集群创buildnodejs?

我用nodejs,express和socketio编写了一个聊天应用程序。 它支持在一个房间聊天,并支持多个房间,而我把客户端数据保存在内存中,比如有全局variables房间 ,而且我存储这样的客户端数据。 var rooms = { "room1": [ {username: "user1", socket: user1Socket}, {username: "user2", socket: user2Socket}, ], "room2": [ {username: "user3", socket: user3Socket}, {username: "user4", socket: user4Socket}, ] } 但是集群中有多个服务器,客户端不知道连接到哪个服务器,因为这是负载均衡器的工作,那么就出现了一个问题,user1和user2应该在同一个房间里,但是他们可能是连接到不同的服务器.. 我该怎么办?

NodeJS TCP套接字不显示客户端主机名信息

可以说我创build了一个简单的node.js TCP Socket服务器,如下所示。 var server = net.createServer(function (socket) { socket.end("goodbye\n"); }); // listen on port 80, like a webserver would, and configured to accept connections to multiple hosts, ie test.example.com, sdfsdfsdf.example.com, example2.com. server.listen(80, function() { address = server.address(); console.log("opened server on %j", address); }); server.on('connection', function(socket) { //log('connection data', socket); log('CONNECTED SOCKET DATA', socket.address()); log('CONNECTED […]

如何以最less的延迟发送Websocket消息?

我正在编写一个在Node.js中编程的Websocket服务器,我计划发送一个多播消息给20,000个用户。 这个消息会以固定的时间间隔发送出去,但是我担心Node.js服务器的性能。 我明白,Node.jsasynchronous工作,创build和销毁线程,但我不确定它的效率。 理想情况下,我想发送消息的平均延迟5毫秒。 目前,我通过运行所有连接客户端的for循环向所有用户发送消息,如下所示: function StartBroadcastMessage() { console.log("broadcasting socket data to client…!"); for(var i=0;i < clientsWithEvents.length;i++){ //Runs through all the clients client = clientsWithEvents[i]; if(client.eventid.toLowerCase() == serverEventName.toLowerCase()) //Checks to see if the Client Event names and server names are the same client.connection.sendUTF(GetEventSocketFeed(client.eventid)); //Sends out event data to that particular client } timeoutId = setTimeout(StartBroadcastMessage,2*1000); […]

节点:使用套接字事件区分重新加载事件和浏览器出口

我想运行一些代码,当一个套接字closures,但只有当用户没有重新加载页面… 我有类似的东西 socket.on("close", function() { //do something here }); 问题是,这个函数在重载事件中运行以及…我可以暂停它稍后运行的价值在稍后的时间。 我试图在callback中使用一个超时设置,但不能从callback中访问套接字对象。 如果套接字连接在不久之后重新获得,那么防止函数运行的最好方法是什么?

Android常数连接网站

我正在寻找Android设备(运行本机应用程序)和网站之间的通信选项。 基本上,Android设备只是一个移动传感器,而网站是接收端,将处理传感器数据。 网站将不得不想像这个运动。 目标是,这种情况可以瞬间持续发生,因为传感器数据每秒可轻松达到50次更新。 我正在寻找一些适当的选项,并尽可能分享这些数据的经验, 到目前为止,它已经跨越了我的想法; 使用诸如蓝牙,WiFi Direct或USB等技术。 可能从一个网站无法访问。 使用Node.js服务器进行简单的套接字连接。 使用Google App Engine。 频道(Java)的客户端会很好,但似乎应用程序引擎只能是发送端。

Socket.io – 从服务器logging值的最简单的方法

当您使用socket.io在服务器(server.js)文件上testing您的JavaScript时,不能使用console.log()或alert()。 为testing目的logging或提醒一个值最简单的方法是什么?

Facebook如何知道某人是否在线

我正在做一个Node.js(Express框架)和socket.io的实时网站,在某些时候,它必须检测是否有人在线(这基本上是有人打开网页)。 我认为Facebook聊天就是这样的一个例子。 但是它背后的工程逻辑是什么? 非常感谢!

TypeError:将圆形结构转换为JSON

在我的应用程序中,我正在创build一个对象来跟踪所有套接字; 我声明如下: var sockets = {}; 然后当一个新的套接字被创build时,我将套接字添加到我的sockets对象; sockets[socket.name] = socket; 这是我的应用程序的逻辑所必需的。 它完美的作品。 我遇到的问题是当我想要将sockets对象存储到一个文件(用于备份的目的)由于我的服务器有时重新启动。 如果重启应该发生,我不希望主动套接字丢失。 我试图把它保存到这样的文件: var outputFilenameee = 'sockets.json'; fs.writeFile(outputFilenameee, JSON.stringify(sockets), function(err) { if(err) { console.log(err); } else { console.log("sockets saved in " + outputFilenameee); } }); 但是我得到这个错误: TypeError:将圆形结构转换为JSON 下面是一个console.log的sockets : { '217.208.204.18:63695': { domain: null, _events: { data: [Function], end: [Function] }, _maxListeners: 10, […]