我们如何使用在网站上编写和上传的php代码运行C代码?

时间:2019-06-12 12:17:05

标签: php c

我正在执行一项要求在我创建的网站上使用PHP代码在PC上运行C代码的任务,那么如何使用PC的IP和端口号呢?

我已经搜索了一些代码来完成该任务,但没有找到我所需要的东西,因此与该问题非常相似:PHP sending message via TCP/IP 但不完全是,代码inlink是:

<?php 
$errno = NULL;
$error = NULL;

if (!$handle = @fsockopen("192.168.188.24", "49419", $errno, $error, 10))
{
   die("Fehler (".$errno."): ".$error);
}

fwrite($handle, "ON\r\n");
fclose($handle);
?>

好吧,由于不能与Arduino一起使用,我希望可以从网站远程编译和运行代码

2 个答案:

答案 0 :(得分:0)

您需要一个static IP address,然后打开PC上需要传入和传出的端口...

...或者您需要一个动态IP服务,该服务将为您的PC提供一个可以访问的域名,并且每次更改IP时都会更新IP(通常是在重新启动路由器时)。  您仍然需要打开所需的端口。

尽管很多ISP都会为您提供静态IP,所以如果您有静态IP,则可以使用它。

DynIP是一个动态IP地址的好例子:https://www.dynip.com/

安装简单,但需要付费。可能有免费的替代品。

或者...在AWS或类似服务器上获得一台服务器,并在该服务器上托管C脚本,然后调用该服务器,而不是家用PC。

答案 1 :(得分:0)

如果我对它的理解正确,则您的本地计算机上有一个C程序,您想从远程网站上运行它。您的本地PC只是一个客户端,不提供任何服务。出于安全原因,这是不可能的。想象一下,如果服务器可以在随机PC上开始运行程序,互联网将会是什么样。

您需要将本地PC设置为服务器,并通过它提供C程序;可能是运行CGI的Web服务。

另一方面,192.168.188.24是路由器后面的本地IP地址;我认为您的网站无法与之对话,除非它也位于同一路由器的后面。