2015-06-14 113 views
3

我想用net模块从Node.js的在客户端(浏览器):如何使用browserify从Node.js中使用net模块?

var net = require('net'); 

于是我抬起头怎么弄的Node.js模块,客户端,browserify似乎是答案。我用jQuery尝试过它,它的功能就像一个魅力。 但由于某种原因net模块不想工作。如果我写require('jquery')它工作正常,但如果我写require('net')它不起作用,这意味着我的捆绑的.js文件是空的。

我试图寻找别的东西,但我发现的唯一的东西是net-browserify on Github。有了这个,至少我的bundle.js文件被填充了,但是我得到了一个JavaScript错误(与connect函数有关)。

这是我的代码就好了服务器端的工作原理:

var net = require('net-browserify'); 
//or var net = require('net'); 

var client = new net.Socket(); 
client.connect({port:25003}, function() { 
    console.log('Connected'); 
    client.write('Hello, server! Love, Client.'); 
}); 

client.on('data', function(data) { 
    console.log('Received: ' + data); 
    client.destroy(); // kill client after server's response 
}); 

client.on('close', function() { 
    console.log('Connection closed'); 
}); 

我认为净browserify可以让你使用特定的connect功能,但我不知道是哪个。

如何在客户端使用Node.js中的net模块?

回答

5

这是因为net允许您访问原始TCP套接字 - 哪些浏览器根本无法从JavaScript端完成。 net不可能被移植到客户端,直到写入这样的API(允许任意的tcp流量)为止。

如果你想从客户端发送到服务器的TCP数据是使用网络套接字使用socket.io module或ws之一,你最好的选择。

如果你想让客户直接沟通就是看看WebRTC