簡體   English   中英

如何將 Node.js 中的 net 模塊與 browserify 一起使用?

[英]How to use the net module from Node.js with browserify?

我想在客戶端(在瀏覽器中)使用 Node.js 的net模塊:

var net = require('net');

所以我查找了如何將 Node.js 模塊發送到客戶端,而 browserify 似乎是答案。 我用 jQuery 嘗試了它,它就像一個魅力。 但出於某種原因, net模塊不想工作。 如果我寫require('jquery')它工作正常,但如果我寫require('net')它不起作用,這意味着我捆綁的 .js 文件是空的。

我試圖搜索其他東西,但我唯一找到的是Github 上的 net-browserify 有了這個,至少我的 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');
});

我假設 net-browserify 允許您使用特定的connect功能,但我不知道是哪個。

如何在客戶端使用 Node.js 的 net 模塊?

這是因為net使您可以訪問原始 TCP 套接字——瀏覽器在 JavaScript 端根本無法做到這一點。 在編寫這樣的 API(允許任意 tcp 流量)之前,不可能將net移植到客戶端。

如果您想將 tcp 數據從客戶端發送到服務器,最好的選擇是使用使用socket.io 模塊或 ws 的 web 套接字。

如果您希望客戶直接溝通,最好的選擇是研究 WebRTC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM