PHP套接字连接到TCP服务器

时间:2015-07-10 12:26:35

标签: php sockets tcp

我有以下情况:

我有一个给定的程序,它提供了一个JSON接口,我可以使用套接字连接将其连接到该接口。由于我想将该接口集成到我的Web应用程序中,因此我尝试使用PHP套接字进行服务器和客户端之间的通信。通信是双向的,这意味着我的PHP客户端正在向服务器发送请求,服务器也在向我的PHP"客户端"发送请求。我的PHP和JSON接口之间的连接没有问题。唯一的问题是,因为我必须等待PHP端的请求,我必须在无限循环中运行它。我想回声'一些响应和请求我在没有无限循环的情况下进入我的web应用程序。

我的问题是,是否有一个很好的方法来创建一个可以:

的php文件
  • 创建一个自己的套接字服务器,这样我就可以从我的Web应用程序发送内容而不会陷入无限循环
  • 我发送给它的东西可以重定向到JSON服务器
  • 我从JSON服务器重定向到我的Web应用程序的响应

用例我有一个解决方案:我有一个NFC读卡器,它提供了卡(uniqueid)的功能和信息,并且它连接到我的网络。 JSON服务器在"卡检测到"上发送了一个请求。我回答说"允许"或者"不允许"。 (那里的无限循环并不重要)

用例我没有解决方案:我打开了我的网络应用程序,我想编写" uniqueid"将参数输入到输入字段以将该卡分配给某人。我想这样做: - 单击按钮"分配卡" - 将卡片放在读卡器上 - 将唯一ID写入输入字段

我不想直接从Web应用程序连接到JSON服务器。我想从Web应用程序到与JSON服务器建立永久连接的PHP服务器建立临时连接。

我希望这是可以理解的。

1 个答案:

答案 0 :(得分:1)

是的,你可以。在您的应用程序中查看使用Ratchet。它似乎符合您的要求。它通过Websockets进行双向通信。

您的浏览器将连接到服务器中基于Ratchet的应用程序,并在某个端口进行侦听,您将能够使用该连接发送和接收消息。

替代方案是长轮询。您可以在此StackOverflow answer(其中还包含Websockets)中了解更多信息。