大家
我对node.js很新。 我正在尝试做一个tcp服务器< - >客户端使用node.js.到现在为止还挺好。 服务器脚本可以运行Ok。 客户端脚本也可以正常运行。
但问题是我只能通过输入命令(node client.js)让客户端从终端运行。
问题是我想在浏览器中运行它,以便我可以从浏览器上的服务器显示中获取数据。
我该怎么做?
请帮忙。
凯因。
这是客户端代码。 (我不记得是谁最初创建了这个脚本。我从某个地方复制并粘贴它,但忘记了我从中获取链接的书签。很抱歉没有把这个功能归功于这个脚本的所有者。)
var net = require('net');
var HOST = '192.168.0.88';
var PORT = 8888;
var client = new net.Socket();
client.connect(PORT, HOST, function() {
console.log('CONNECTED TO: ' + HOST + ':' + PORT);
// Write a message to the socket as soon as the client is connected, the server will receive it as message from the client
client.write('B2\r\n');
});
// Add a 'data' event handler for the client socket
// data is what the server sent to this socket
client.on('data', function(data) {
console.log('DATA: ' + data);
// Close the client socket completely
client.destroy();
});
// Add a 'close' event handler for the client socket
client.on('close', function() {
console.log('Connection closed');
});
谢谢。
答案 0 :(得分:8)
Node.js不是浏览器javascript。它有很多部分使用浏览器上下文中不可用的操作系统功能。在停留在客户端的浏览器中执行您希望执行的操作的方法是不使用TCP套接字,而是查看WebSockets(例如,socket.io,它提供服务器和浏览器客户端)。 / p>
答案 1 :(得分:1)
时代在变。刚刚宣布可能很快就会在浏览器中使用 node.js。查看此链接:Run Node.js in the browser
答案 2 :(得分:-4)
问题是我想在浏览器中运行它,以便我可以从浏览器上的服务器显示中获取数据。
我认为你需要' http'模块。
var http=require('http');
var server=http.Server(function(req,res) {
res.end('<p>hello world</p><script>alert("hello world")</script>');
});
server.listen(8080);
因此您可以通过输入网址&#39; localhost:8080&#39;
从浏览器端获取数据