【问题标题】:how to communicate between two node.js instances, one client one server如何在两个node.js实例之间进行通信,一个客户端一个服务器
【发布时间】:2012-06-20 18:28:00
【问题描述】:

我是 node.js 的初学者(实际上是从今天开始的)。我不清楚其中一个基本概念,我在这里问,但在 SO 上找不到。

在网上阅读了一些教程,我编写了一个客户端和一个服务器端代码:

服务器端(比如 server.js)

var http = require('http'); //require the 'http' module

//create a server
http.createServer(function (request, response) {
  //function called when request is received
  response.writeHead(200, {'Content-Type': 'text/plain'});
  //send this response
  response.end('Hello World\nMy first node.js app\n\n -Gopi Ramena');
}).listen(1337, '127.0.0.1');

console.log('Server running at http://127.0.0.1:1337/');

客户端(比如 client.js)

var http=require('http');

//make the request object
var request=http.request({
  'host': 'localhost',
  'port': 80,
  'path': '/',
  'method': 'GET'
});

//assign callbacks
request.on('response', function(response) {
   console.log('Response status code:'+response.statusCode);

   response.on('data', function(data) {
     console.log('Body: '+data);
   });
});

现在,要运行服务器,我在终端或 cmd 提示符下输入 node server.js。 &它成功运行在控制台中记录消息&当我浏览到 127.0.0.1:1337 时还会输出响应。

但是,如何运行 client.js?我不明白如何运行客户端代码。

【问题讨论】:

  • 节点是服务器端而不是客户端。看看这个。 stackoverflow.com/questions/5168451/…
  • 不确定您在哪里找到了 client.js 或您期望它做什么,但这不是您可以放在浏览器中的东西。如果通过客户端,你的意思是另一个 Node.js 应用程序,当然。我认为您找到的教程是在指导您如何编写访问其他服务器上的 HTTP 资源的服务器。
  • 你在哪里找到client.js?你自己写的吗?你想达到什么目的?
  • 那么客户端如何与node.js服务器通信。我的意思是服务器不能只在指定的时间或基于指定的 url 输出值。

标签: node.js


【解决方案1】:

简短回答:你可以使用命令

node client.js

要运行您的“客户端”代码,它将发送一个 http 请求

关于什么是server side和什么是client side,这真的取决于上下文。

虽然在大多数情况下,client side 表示在您的浏览器或手机应用程序上运行的代码,server side 表示您的浏览器或手机正在与之通信的“服务器”或“后端”。

在你的情况下,我认为这更像是一个“服务器”与另一个“服务器”对话,它们都在后端,因为这就是 node.js 的设计目的

【讨论】:

  • @gopi1410 正如拉里所说,如果你想让你的 client.js 与你的 server.js 对话,你应该将你的 client.js 的端口更改为 1337
  • 是的,我将 'host' 更改为 '127.0.0.1' 并将 'port' 更改为 1337,但是当我运行 node client.js 时,它没有显示任何错误,但它也没有输出任何内容在控制台中。不应该显示响应状态码吗??
  • @gopi1410 最后需要加上request.end();
猜你喜欢
  • 1970-01-01
  • 2019-01-20
  • 2012-09-24
  • 1970-01-01
  • 2014-05-24
  • 2018-05-31
  • 1970-01-01
  • 2021-09-29
  • 1970-01-01
相关资源
最近更新 更多