Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php—在端口上侦听—但按需运行_Php_Sockets_Client_Listener_Long Running Processes - Fatal编程技术网

Php—在端口上侦听—但按需运行

Php—在端口上侦听—但按需运行,php,sockets,client,listener,long-running-processes,Php,Sockets,Client,Listener,Long Running Processes,我对任何技术术语都不确定,但我想我是以一种可以理解的方式来描述这一点的 我将编写一个php脚本,它将在端口上侦听,并根据需要发送数据,即一个基本的游戏侦听过程。网上有很多地方都有关于这方面的提示,所以我想我在那里会很好,但是欢迎对教程提出进一步的建议 这不是我的问题。这是: 我想做的是有一个服务器,该脚本不会自动运行。我想要的是,当有人在他们的客户机上启动游戏时,它会做一个测试,看看我的服务器上是否已经有正在运行的侦听脚本,如果没有,它会启动它。(我还不知道该怎么做,但我不认为这太难。只需向该端

我对任何技术术语都不确定,但我想我是以一种可以理解的方式来描述这一点的

我将编写一个php脚本,它将在端口上侦听,并根据需要发送数据,即一个基本的游戏侦听过程。网上有很多地方都有关于这方面的提示,所以我想我在那里会很好,但是欢迎对教程提出进一步的建议

这不是我的问题。这是:

我想做的是有一个服务器,该脚本不会自动运行。我想要的是,当有人在他们的客户机上启动游戏时,它会做一个测试,看看我的服务器上是否已经有正在运行的侦听脚本,如果没有,它会启动它。(我还不知道该怎么做,但我不认为这太难。只需向该端口发送一些数据,看看是否有响应。)

然后,当其他人加入时,他们将看到脚本在服务器上运行,并使用该脚本,而不是启动自己的脚本

这个想法有问题吗

如果第一个人退出,脚本会关闭吗

最好让“第一个玩家”启动脚本,并要求脚本不关闭。(即,在服务器重新启动之前,脚本将永远运行—基本上,我的服务器不介意我运行长时间运行的脚本,只要它们不使用太多的处理,但如果服务器重新启动,它们不允许我启动脚本。)

这个永远运行的脚本会避免任何“第一玩家”关机问题吗

如果两个人在检查脚本是否正在运行时被视为“第一个玩家”,但其中一个人在另一个人之前几毫秒启动脚本,那么肯定会在服务器上创建两个脚本,从而产生一种回音效果。我将如何克服这一点


Jon

很抱歉,但是“正在端口上侦听”=“脚本正在运行”。是的,如果您有权限,您可以永远运行脚本(请查看
max\u execution\u time
)。感谢HamZa的回复。我将查看服务器的最大执行时间值。“第一个玩家”关闭窗口是否会关闭脚本执行?另外,我可以更改php脚本中的最大执行时间吗?这完全取决于您在代码中输入的内容,这太宽泛了,无法解释。但是,如果愿意,您可以这样做。您可以使用
ini\u集(“max\u execution\u time”,300)更改脚本中的max\u execution\u time其中300是x秒(即5mn)…ini_集看起来不错,因为它似乎只是暂时重置该脚本的值。如果我将300改为0,这是否意味着无限期?