Articles of 联网

Websocket base64,二进制types

我很困惑。 我想了解Websockets是如何工作的,并在node.js和客户端build立一个服务器。 我无法理解的是,Websocket如何发送数据。 在从客户端(浏览器)发送之前是否将数据base64编码? 'binarytype'如何工作? 只为接收? 我也必须在服务器上实现这些吗? 我需要在服务器端的“二进制types”选项? 我什么时候需要blob和arraybuffer? 取决于小的和大的数据? 什么是如果得到video和audio文件? 我看了一下如何在网上发送图片,而且我常常find解决scheme,图片是base64编码,然后发送。 但是,如果浏览器中的Websocket API已经将二进制文件编码为base64,我不必这样做。 对不起,我很困惑,希望有人能帮助我

Node.js套接字服务器如何知道客户端连接到哪个IP或域?

如何知道客户端在node.js TCP Server中连接的IP /主机名? var server = net.createServer(function (stream) { // The server is behind a firewall, // how can I know how the client connect to this server? console.log(stream.localAddress); }); server.listen(21, '0.0.0.0'); 谢谢

WiFi服务器在NodeJS

我想要做的就是在NodeJS中编写软件,以build立一个类似于自助餐厅使用的WiFi服务器(使用WPA2安全性或类似服务),客人可以使用凭证连接,或在我的电脑上免费使用。 (我很好奇,我可以如何redirect到一个HTML页面来input凭据,就像他们在一些地方做的那样) 有没有一个Node插件可以帮助这样的事情? 如果没有,我正在寻找这样的build议: 在端口x上设置服务器,并使用npm软件包y和z 看看这个项目 更多信息: 我正在为学术目的创build一个内联网。 我在NodeJS的计算机上写了一个dns服务器,它侦听UDP / TCP上的192.168.2.2:53,并成功parsing了我的专用networking中的域。 我的电脑是我的路由器设备的DHCP客户端,可以访问互联网。 在家使用我的私人DNS服务器的设备将解决他们对互联网的DNS请求,只有在我的私人DNS没有find。

我如何从localhost(laravel,nodejs)调用localhost?

我正在写节点和laravel的应用程序。 我正在运行小的laravel本地服务器,它parsing为http:// localhost:8000 。 我也在localhost:3000上运行节点服务器。 然后尝试从第二个调用第一个服务器。 这里是NodeJs代码: var restify = require('restify'); var server = restify.createServer(); server.listen(3000, function() { console.log('%s listening at %s', server.name, server.url); }); 这里是我发出http请求的地方: var http = require('http'); module.exports = { call: function (host, path) { var options = { host: host, path: path, port: 8000, method: 'GET' }; callback = function(response) { […]

节点服务器无法收听公共IP

我试图让我的Node.js服务器听一个公共的IP,以便我可以在不同的networking上访问它,而不是我的家庭networking。 我已经购买了一个域名,并使用了一个DNS主机 – 现在我正在使用No-IP,并下载了他们的客户端,将我的IP推送到他们的服务器上。 当我将无IPconfiguration的IP设置为本地IP时,我可以使用域名,并在我的networking上的另一台计算机上打我的服务器。 但是,如果我改变这个我的公共IP和使用域,请求挂起约10秒,然后失败。 我已经设置了端口转发(我相信是正确的),并在我正在监听的端口(现在不是80)上打开入站/出站stream量。 我甚至完全拉了我的防火墙。 我尝试将server.listen(4444)更改为server.listen(4444, '0.0.0.0')正如我在网上看到的那样。 但是这不起作用。 任何人有想法吗? 我觉得也许我的ISP在阻止它? 我对networking相当陌生,所以也许我错过了一些关键的东西? 谢谢!

什么是通过WebSockets发送位置更新的正确方法?

我需要在运行node.js的游戏世界中广播位置更新。 我目前的想法是使用BinaryJS 。 不过,我不确定使用它的正确方法是什么。 我曾经想过3个选项: 我现在怎么样,使用socket.io :我以编程方式存储在给定的时间内发生的位置更新的缓冲区,然后一次发送它: setTimeout(function(){ //called a fixed amount of times per second (40) //this variable will hold the accumulated position changes on the last 25ms //var accumulated_position_changes = [id0,x0,y0,z0, id1,x1,y1,z1…]; client.send(accumulated_position_changes); },25); 但是,如果binary.js完成分块(是吗?),那么每次发生位置变化时,我应该不加区别地发送位置更改吗? MyClass.prototype.set_position = function(x,y,z){ // this is called thousands times a second this.x = x, this.y = y, this.z […]

.NET的Node.js

我知道关于允许C#和Node.js连接的Edge.js这样的项目,但是我正在谈论一些不同的东西。 是否有一个C#库,允许您在C#中构build可伸缩的非阻塞I / O单线程asynchronous事件服务器,类似于可以使用Node.js构build的服务器? 一个库也有Node.js的独特事件模型,单线程用户代码,multithreading文件/networking事件和本地代码(纠正我,如果我错了)。 当然,我知道ASP和WCF,以及这样的OSS项目,但是我正在寻找一些可以与Node.js(一种C#的Node.js端口)相媲美的性能。 你知道任何这样的图书馆,它将需要build设吗? 单线程还是multithreading? 如果您想要一个使用APC和完成端口完成所有工作的单线程托pipe进程,您将不得不手动编写代码。 构build它将是有风险和棘手的。 萨姆·萨尔顿 显然,单线程使代码更容易编写,因为你不需要使用锁和互斥锁。 只有一个线程读取/修改程序状态数据,保持简单。 所有计算都在单独的线程上进行,并在结果准备就绪时返回主线程。 所有文件/networking事件分支出来并在操作完成后返回到主线程。 相关但不同的问题: 非阻塞的单线程Web服务器 最小的Web服务器 单线程asynchronous事件 可能有用的项目: ALE与我想要的最接近,类似于Node.js的语法 Manos de mono ,一个用于C#的单线程服务器 C#中的消息循环 ,处理单个线程上的事件 C#中Libuv的包装( 1,2 ) Anna仅用于HTTP请求(无二进制),语法类似于Node.js

NodeJS – TCP – 发送一个HTTP请求

我试图通过TCP套接字发送一个HTTP请求。 但是我根本没有收到www.google.com的任何回应。 不知道我做错了什么。 这里是代码: var client, net, raw_request; net = require('net'); raw_request = "GET http://www.google.com/ HTTP/1.1\nUser-Agent: Mozilla 5.0\nhost: www.google.com\nCookie: \ncontent-length: 0\nConnection: keep-alive"; client = new net.Socket(); client.connect(80, "www.google.com", function() { console.log("Sending request"); return client.write(raw_request); }); client.on("data", function(data) { console.log("Data"); return console.log(data); }); 希望可以有人帮帮我。 只是澄清…要求缺less两个结束换行符,所有换行符都必须格式为/ r / n。 感谢大家! 🙂

node.js中的socket.io不支持3G移动networking

node.js中的socket.io不支持3G移动networking。 我已经试过这些东西了: io.set("transports", ["xhr-polling"]); io.set('browser client minification', true); io.set('browser client etag', true);

如何在node.js中监听一个随机的tcp套接字

我知道我可以在node.js中创build一个tcp服务器 var dataServer = net.createServer(function (stream) { }); dataServer.on("listening", function() { // this data server listen to a random port // but how can I get the number of port console.log(dataServer.localPort) } dataServer.listen(0, '0.0.0.0'); 但我不知道如何获取端口号并发送到另一个服务。 或者我应该find一个随机可用的端口,并传递给dataServer.listen?