Tag: tcp

Node.js UDP客户端处理来自udp服务器的响应

我正在尝试在node.js中写一个应用程序来发送一个udp请求到一个设备(它有udp服务器),然后接收响应并显示它。 该设备以这样的方式工作,即在其端口11220上接收到请求时立即返回响应。 下面的代码发送一个udp请求到设备,设备立即回应(我可以在wireshark中看到它),但我无法处理/显示恢复的消息 。 或者至less我只是想在收到来自设备的回复时能够显示消息。 请让我知道我的代码中缺less什么或给我一个完整的代码来做到这一点。 非常感谢。 另外,我不喜欢使用socket.io等 var PORT = 11220 ; var HOST = '192.168.1.111'; var dgram = require('dgram'); var message = new Buffer(9); var client = dgram.createSocket('udp4'); client.send(message, 0, message.length, PORT, HOST, function(err, bytes) { if (err) throw err; console.log('UDP message sent to ' + HOST +':'+ PORT); client.close(); }); client.on('listening', function […]

NodeJS帮助将TCP端口数据代理到Web套接字

我试图从一个专用的TCP端口13854代理JSON数据到一个公共的networking套接字端口8080.为什么我不能得到任何数据时浏览http://localhost:8080 ? var http = require('http').createServer(httpHandler), fs = require("fs"), wsock = require('socket.io').listen(http), tcpsock = require('net'); var proxyPort = 8080; var serviceHost = 'localhost'; var servicePort = 13854; function httpHandler (req, res) { res.setHeader("Access-Control-Allow-Origin", "http://example.com"); res.end(); } http.listen(proxyPort); console.info("HTTP server listening on " + proxyPort); wsock.sockets.on('connection', function (socket) { var tcpClient = new tcpsock.Socket(); tcpClient.setEncoding("ascii"); tcpClient.setKeepAlive(true); […]

ZMQ pub / sub订阅

我很难弄清楚如何使用ZMQ来订阅特定的“频道”,关于它的发布/订阅function。 这是出版商: var zmq = require('zmq'); var pub = zmq.socket('pub'); pub.bindSync('tcp://127.0.0.1:5555'); setInterval(function(){ pub.send('pub msg'); },500); 这里是订户: var sub = zmq.socket('sub'); sub.connect('tcp://127.0.0.1:5555'); sub.subscribe(''); //herein lies the question sub.on('message',function(msg){ console.log('Received msg:',msg); } 这是按原样,但问题是,如果我将参数更改为sub.subscribe除了空string('')的任何内容,订阅服务器不会收到来自发布服务器的任何消息。 如何正确configurationZMQ的pub / sub?

Node.js中的ECONNRESET Azure中的RabbitMQ使用者

我已经看了这个问题好几天了,这让我非常难过。 我们有一个基于node.js的rabbitmq消费者,已经运行了一年多,没有任何问题。 最近,我们将应用程序部署到Azure,并将node.js组件部署到基于窗口的PAAS辅助angular色。 我们使用方形mo amqp-lib( https://github.com/squaremo/amqp.node )作为我们的客户端库接收来自RabbitMQ的消息。 angular色可以正常启动,处理请求没有问题,但会定期回收。 检查部署的VM上的C:\ resources中的WaHostBootstrapper日志显示如下: [00001180:00001548, 2015/06/09, 10:01:17.385, INFO ] Getting status from client RemoteAccessAgent.exe (2816). [00001180:00001548, 2015/06/09, 10:01:17.385, INFO ] Client reported status 0. [00001180:00001548, 2015/06/09, 10:01:17.385, INFO ] Getting status from client WaWorkerHost.exe (1380). [00001180:00001548, 2015/06/09, 10:01:17.385, INFO ] Client reported status 3. [00001180:00003288, 2015/06/09, 10:01:17.385, INFO ] […]

如何保护TCP连接 – nodejs?

我有以下sample code在tcp server var server = net.createServer(); server.on('connection', function (socket) { if(restrictedIP == sock.remoteAddress){ //How to close the particular connection safely without //affecting other connections } socket.on('data', function(data) { console.log(data); }); socket.on('close', function(data) { console.log('client disconnected'); }); }); server.listen(3000, '127.0.0.1'); 注意:我有一个检查来validation客户端/服务器ip(第三行)。 问题: 这个逻辑听起来不错,可以validation客户端/服务器。 主要的是,如何从受限的IP地址closures特定的连接(第四行 – 评论) 场景: 我有两个服务器,一个是客户端服务器,它是express / http服务器,可以命名为server1-express ,另外一个是命名为server2-tcp tcp服务器。 server1-express服务器将使用tcp与server2-tcp进行通信。 server2-tcp应该只允许这个特定的server1-express服务器,它不应该允许连接任何其他的ip, 使用socket.destroy()会使server2-tcp崩溃。 […]

创build无端口的快递服务器

我想知道是否有可能创build一个服务器使用快递服务没有任何端口。 我需要创build一个服务器只是为了与其他应用程序使用TCP协议套接字连接。 也许快递不是最好的工具呢? 因为快递是为web框架,我真的不需要任何端口。 目前我在做: http.createServer(app).listen(8000, function() { console.log('Connected in port 8000'); }); 谢谢。

nodejs tcp socket发送多个数据事件

我试图通过用tcp包编码来演示http服务器如何工作的最简单的方法。 我之前做了几次,但今天我面临一个意想不到的行为,因为来自套接字对象的data事件被随机触发一个或多个类似的请求,我想知道为什么,以及如何正确地解决它。 请注意,我知道我应该使用stream数据处理方式,这是我在第二次演示中所做的。 每一次都会增加复杂性,使演示文稿更容易​​遵循。 这是服务器。 正如你所看到的,它很简单,容易得到。 const net = require('net') const response = `HTTP/1.1 200 OK Access-Control-Allow-Origin: * Foo: Bar foobar ` net.createServer(socket => { socket.on('data', buffer => { console.log('—– socket data', Date.now()) console.log(buffer.toString()) socket.write(response) socket.end() console.log('—–') }) socket.on('end', () => console.log('—– socket end.')) socket.on('close', () => console.log('—– socket close.', '\n')) }).listen(2000) 为了testing我的服务器,我只要打开任何Web浏览器到http://localhost:2000并获得响应; 但是当使用下面的有效负载(使用浏览器的JavaScript控制台)时, 有时候数据事件会被触发两次,最终导致一个错误,因为write/end进程不能再次进行。 […]

Node.js OSC模块发送TCP

我正在使用OSC模块https://github.com/colinbdclark/osc.js,但我正在努力使其通过TCP工作。 我无法find任何使用TCP的例子,它们都是基于UDP的。 我曾尝试在node.js中创build一个TCP客户端,但仍然很难将正确编码的消息转换为OSC格式。 我也相信它也必须用SLIP编码? 我很新,所以要温柔。 如果有人能指点我正确的方向,或者提供一个关于通过node.js中的TCP发送OSC消息的例子,那将是惊人的 谢谢! Wayde PS。 很高兴使用osc-min模块。 据我所知,你可以编码消息到osc消息并存储在一个变种。 但仍然无法让它通过TCP工作..工作正常UDP,但我的答复是大于UDP可以处理,如果这是有道理的

一台机器上有两个(或多个)套接字客户端连接

我有一个简单的node.js客户端和服务器程序运行在一台机器上,当我尝试与客户端程序的第二个实例同时连接到服务器时,我得到EADDRINUSE, Address already in use错误。 是否可以在同一台机器上有两个或多个基于TCP的套接字客户机连接(使用createConnection创build)到一个服务器(使用createServer创build),或者只有一个客户机程序可以同时连接到服务器?

客户端端tcp与node.js / socket.io?

我是新来的node.js / socket.io所以我不知道我在做什么,但我已经得到了我的服务器端: var app = require('net') , fs = require('fs') var server = app.createServer(function (socket) { socket.write("Echo server\r\n"); socket.pipe(socket); socket.on('data', function(data) { console.log(data); }); }); var io = require('socket.io').listen(server) server.listen(81); 所以当我使用nc本地主机81并发送数据时,tcp服务器工作。 但是,我不知道如何使用脚本标记来连接和发送数据到服务器端的网站上的tcp服务器。 那么客户端会连接到这个tcp服务器并将数据发送给它? 谢谢! 新增代码: 服务器: var app = require('net') , fs = require('fs') var sockets_list = []; var server = app.createServer(function (socket) { […]