gpt4 book ai didi

node.js - 如何通过 browserify 使用 Node.js 的 net 模块?

转载 作者:搜寻专家 更新时间:2023-10-31 22:40:58 24 4
gpt4 key购买 nike

我想在客户端(在浏览器中)使用来自 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');
});

我假设 net-browserify 允许您使用特定的 connect 函数,但我不知道是哪个。

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

最佳答案

这是因为 net 允许您访问原始 TCP 套接字 - 浏览器在 JavaScript 端根本无法做到这一点。在编写这样的 API(允许任意 tcp 流量)之前,net 不可能移植到客户端。

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

如果您希望客户端直接通信,您最好的选择是查看 WebRTC

关于node.js - 如何通过 browserify 使用 Node.js 的 net 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30831243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com