[英]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.