Tag: 套接字

NodeJS:如何为testing服务器创build一个虚假的tcp套接字

我试图unit testing我的服务器代码(非HTTP,自定义协议)。 我需要创build一个模拟双工套接字,我可以asynchronous地发送消息并接收消息。 我从事件streamreadArray和writeArray创build了一个双工stream,但是readArray需要提前写入数据,writeArray不会触发,直到stream结束。 我需要testing一段时间。 一个理想的解决scheme是将两个双工sockets连接在一起。 有没有现有的解决scheme呢? 我宁愿不必诉诸初始化一个实际的服务器来testing这个。

Webpack传输轮询错误

我在启动webpack-dev-server的express / webpack应用程序中有下面的咕噜任务: "webpack-dev-server": { options: { webpack: webpackConfig, publicPath: '/assets/', watch: true, inline: true, hot: true, quiet: true }, start: { keepAlive: true, webpack: { devtool: 'eval', debug: true } } } 我遇到的问题是,轮询者只是垃圾邮件我的铬控制台,这将是非常讨厌的,当涉及到debugging。 (我在裸机应用程序阶段)。 任何人有任何想法可能造成这一点?

在HTTP模式下,node.js是否比Java有更大的性能优势?

我刚刚开始在node.js中编写一段时间。 这是我的一个问题: 在HTTP应用程序中,给定请求 – 响应模型, 单个应用程序线程被阻塞,直到所有的后端任务完成并且响应返回给客户端,所以性能改进似乎仅限于微调后端事物并行IO请求。 ( 当然,这个改进对涉及到很多繁重和独立的 IO操作很重要,但是通常这个条件也意味着通过重新devise数据结构,可以消除大量的IO请求,并且可能最终获得更好的性能而不仅仅是发行并行操作。 ) 如果那是真的,它怎么会比那些基于Java(或PHP,Python等)的框架产生更好的性能呢? 我也参考了一篇文章了解node.js事件循环 ,这也解释了这种情况: 它确实是一个单线程运行:你不能做任何并行的代码执行; 例如做一个“睡眠”会阻塞服务器一秒钟: while(new Date().getTime() < now + 1000) { // do nothing } 然而,除了你的代码之外,所有东西都是平行的。 我亲自证实,通过将“睡眠”代码放入一个IOcallback闭包中,尝试提交导致此callback的请求,然后再提交另一个。 两个请求都会在处理时触发控制台日志。 我的观察是,后者被阻止,直到前者回复。 那么,这是否意味着只有在双方都可以随时发送事件和互相推送消息的套接字模式下,才能充分利用其asynchronous处理能力呢? 我对此有点困惑。 任何意见或build议是受欢迎的。 谢谢! 更新 我问这个问题是因为报告了一些性能评估案例,例如Node.js接pipe了企业 – 无论您是否喜欢 ,以及LinkedIn从Rails移动到Node:27服务器的速度提高了20倍 。 一些激进的观点声称,J2EE将被完全取代: J2EE已经死了:由JSON服务支持的长寿命的Javascript 。

Socket.io替代

我提前道歉,这可能会被标记和封闭作为一个基于意见的线程,但这纯粹是一个事实调查的使命。 我对networking套接字的世界很陌生 ,我知道的唯一信誉良好的库是socket.io,并且该网站正在closures,因此我正在借此机会发现另一个库。 我正在构build一个MEAN应用程序,我希望能够在客户端和中央服务器之间进行通信,这些都是实时的,这就是socket.io会起作用的地方,但是还有其他的select我应该知道吗? (我的服务器是用Express 4编写的)

net.connect和net.createConnection在node.js中有什么区别?

我正在从Node.js的networking模块阅读文档,我看不出方法net.connect和net.createConnection之间的任何区别。 他们是完全一样还是有一些区别?

Node.JS:如何创build一个HTTP聊天服务器?

使用networkingstream对象与TCP工程伟大(作为presetend在node.js介绍video ),但我应该如何做到这一点在HTTP? 有没有办法访问http.createServer()内的套接字/客户端? 或者有什么办法呢? 我试图从官方节点聊天演示 源代码中找出解决scheme,但我不明白。 我了解客户端JS,但是我(作为客户端)通过AJAX发送消息到服务器端JS后发生了什么? 我怎样才能发送给服务器上的其他客户呢? 请注意,我不想学习过程的逻辑,所以我不想使用socket.io或任何其他框架,库,模块。 非常感谢您的帮助!

Nodejs中是否有像django admin一样的模块?

我正在search像Django的pipe理面板,为什么nodejs没有一个? 你能否给我们提供一个链接,以反馈使用这类pipe理员的本友。 需要nodejs吗?

iPhone与Objective-C套接字通信与Socket.IO

我正在开发某种大型多人在线游戏。 我的解决scheme是服务器上的node.js socket.io。 我需要解决scheme来实现某种与socket.io通信的objective-c套接字,用于以stringforms发送和接收json对象。 我不会使用webkit的webkit。 有没有可能? 服务器将保持游戏状态,iPhone客户端将向服务器发送操作并接收服务器上的更改。

将多个消息发送到Node.js tcp套接字时,它们将作为单个消息进行stream式传输

为了演示一个简单的例子,我想发送多个消息到一个node.js的tcp套接字。 我只想发送第二条消息时,第一条消息是完全发送/排水。 但是,即使在等待写入callback被调用时,这些消息似乎也是作为一个消息发送的。 这是一些示例代码: var net = require('net'); var server = net.createServer(); server.on('connection', function(socket){ socket.write('First Message', function(){ socket.write('Second Message') }) }) var client = new net.Socket(); client.setEncoding('utf8'); server.listen(9999, function(){ client.connect(9999); }); client.on('data', function(data){ console.log('data received on socket:\n' + data); }); 根据来自socket.write的node.js文档,“当数据最终被写出时,可选的callback参数将被执行 – 这可能不会立即生效。 基于此,在我的代码中,第二条消息应该只在数据最终写出第一条消息时发送。 但是书面的输出是: 在套接字上收到数据: 第一个MessageSecond消息 我怎样才能得到它分开发送这些消息?

将node.js中的字节数组发送到服务器

在连接到Debian上的服务器时,我无法想象发送字节数组。 有没有其他的发送string通过client.write() ? 我尝试client.write(new Buffer("something"))但这给Invalid data错误。 这是我的代码: var net = require('net'); function ModernBuffer(buffer) { // custom buffer class this.buffer = new ArrayBuffer(buffer.length); this.byteLength = this.buffer.byteLength; console.log('ModernBuffer.ByteLength: ' + this.byteLength); var Uint16View = new Uint16Array(this.buffer, 0, 1); for (var i=0; i<Uint16View.length; i++) { Uint16View[i] = buffer[i]; console.log("Entry " + i + ": " + Uint16View[i]); } […]