2015-01-21 213 views
4

everyone如何在浏览器上运行node.js客户端

我对node.js非常陌生。 我试图做一个tcp服务器< - >客户端使用node.js.到现在为止还挺好。 服务器脚本可以运行正常。 此外,客户端脚本可以运行正常。

但问题是我只能通过键入命令(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'); 
}); 

谢谢。

+1

*“我该怎么办呢?” *你不能。 Node.js和浏览器是两种不同的环境。如果您使用某个环境特有的功能(例如TCP套接字),则不能在其他环境中使用相同的脚本。 – 2015-01-21 04:20:36

+0

谢谢。所以我想我可能不得不改变我的计划来实现这一目标。 – 2015-01-21 06:32:07

回答

6

Node.js不是浏览器的JavaScript。它的许多部分使用OS功能在浏览器上下文中不可用。在浏览器中停留在客户端时要做的事情是不使用TCP套接字,而是查看WebSockets(例如,提供服务器和浏览器客户端的socket.io)。

+0

非常感谢保罗,我想我必须改变我的玩法到websocket,这听起来更像你所说的。非常感谢 – 2015-01-21 06:32:56

-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); 

这样你就可以通过键入URL得到浏览器端数据的“localhost:8080”