如何将数据从托管在 Heroku 上的 Node.js 应用程序发送到托管在完全独立的 (Cpanel) 服务器上的 PHP 文件?

How can I send data from a Node.js application hosted on Heroku to a PHP file hosted on a completely separate (Cpanel) server?

在搜索了 30 多分钟后,我似乎无法在任何地方找到这个问题的好答案。我希望这个问题还没有被问到。

所以,我想制作一个在线游戏。这将是一个非常简单的在线游戏(主要用于练习)。我想在 Heroku 上托管这个游戏,我将使用 Node.js 编写游戏代码。现在,我有一个单独的服务器(共享服务器 运行 Apache 和 Cpanel),我想在其中存储游戏的所有永久数据(在 MySQL 数据库中)。所以我需要做的是在我的 Apache 网络服务器上使用 PHP 来提供游戏,允许用户在 Apache 服务器上创建 accounts/sign 帐户(使用也位于那里的 MySQL 数据库),然后我希望他们能够“加入房间”,当他们这样做时,我想将他们发送到 Heroku 上的 Node.js 服务器 运行,并允许该服务器处理所有事情与游戏玩法相关(通过 WebSockets)。现在,在他们完成游戏后,我想将他们的分数和一些其他相关数据保存到我的 Apache 服务器上的 MySQL 数据库中……有什么方法可以做到这一点吗?有没有什么方法可以将数据从 Heroku 上的 Node.js 服务器 运行 发送到我的 Apache 服务器上的 PHP 文件? (例如,handlepostgame.php 或类似的东西)

我希望这是一个写得清楚的问题,并且您能够轻松理解我的问题。如果没有,请告诉我,我会尽量说得更清楚!提前致谢。

感谢@ADyson 为我指明了正确的方向!

所以,我找到了适合我需要的答案!这是我的“requesttophp.js”文件:(Node.js)

var http = require('http');

console.log("running");

var query = "something=cookie";
var queryLength = query.length;

var options = {
  host: 'www.mydomain.com',
  path: '/path/to/fromnodejs.php',
  method: 'POST',
  headers:{
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': queryLength
  }
};

callback = function(response) {
  var str = ''
  response.on('data', function (chunk) {
    str += chunk;
  });

  response.on('end', function () {
    console.log(str);
  });
}

var req = http.request(options, callback);
req.write(query);
req.end();

respondtonodejs.php: (PHP)

<?php

echo "it worked\n";
echo $_POST["something"];

?>

结果是

running
it worked
cookie

它完全符合我的要求! :) 谢谢。