保持套接字服务器永久监听?

时间:2017-07-17 21:58:36

标签: php sockets websocket

我是套接字编程的新手,所以如果这是一个愚蠢的问题,请原谅。我用PHP编写了一个套接字服务器,这样我就可以连接我的iOS应用程序(Swift)并实时接收数据。

我设法遵循一些教程并编写了一个基本的示例脚本,但我唯一不安静的就是如何激活套接字服务器。在每个教程中,我都在阅读使用终端(Mac)或命令提示符(Windows)来启动套接字服务器以便将客户端连接到它。这仅仅是出于测试目的,还是设置服务器永久使用的实际步骤?

我仍在试图弄清楚如何运行套接字服务器,并让它永久地在我的webhost上运行,这样我的用户可以24/7(永久)连接和断开套接字。我不明白为什么世界各地的客户端都可以连接的套接字服务器必须在我的电脑上运行。

我习惯编写用于数据存储和检索的PHP脚本,我只是在我的webhost上运行这些脚本,这就是为什么我突然需要从本地PC运行PHP代码而不是在线主持人。有人可以向我解释如何激活套接字服务器并让它永久地监听客户端连接吗?

2 个答案:

答案 0 :(得分:0)

Web服务器只是另一台计算机。假设您拥有权限,就可以像在本地计算机上一样在其上运行PHP脚本来提供套接字。

此外,websockets是套接字的特例。如果您不知道是否使用websockets,那么您就不会使用它们。

答案 1 :(得分:0)

我发现您所指的术语存在很多混淆,这里是对Web堆栈的快速概述:

  1. 服务器,可以是任何常规PC。
  2. 客户端向您发送请求的方式,流行的堆栈包括Web服务器(nginx,apache),服务器和脚本(uwsgi,fastcgi)之间的接口以及提供内容的应用程序(python,php)。
  3. 想要使用或发布信息的客户。
  4.   

    这仅用于测试目的还是设置的实际步骤   一个永久使用的服务器?

    它也可以永久使用,但绝对不建议在生产中使用您的测试工具。

      

    有人可以向我解释如何激活套接字服务器并保留它   永久地监听客户端连接?

    为了“在线”提供内容,您必须拥有VPS(如linode或digitalocean)或使您的计算机可用于互联网的方式(使用DDNS或直接使用您的公共IP)

    你所说的“突然需要从本地PC而不是在线主机上运行PHP代码”与谁是客户端以及谁是服务器有关,在你的情况下你的PC都是,你的客户只是要求为了自己的信息。