我正在尝试设置我的服务器,以便有人通过我们网站上的聊天框与我联系。由于我不会一直在那里监视聊天,因此我尝试设置一个系统,其中聊天通过 websocket 路由到我的服务器(使用 PHP-Websockets ),然后通过短信发送到我的手机。这一切都工作正常。我无法理解如何将我的响应返回客户端。当我回复文本时,Twilio 将访问我使用短信作为 post 变量指定的任何页面。如何将此发布消息传递到我的 websocket(已在运行),然后它可以将消息发送回客户端?谢谢大家的帮助
最佳答案
当 Twilio 收到您的 SMS 时,它会通过 WebHook 调用(HTTP 请求)与您的应用程序进行通信。
由于 PHP-WebSockets 作为独立进程运行,而不是作为现有 Web 堆栈(例如 Apache)的一部分运行,因此您需要在设置中添加一些组件:
- PHP-WebSocket
- 网络服务器 - 提供您的 HTML、CSS 等,并通过 Twilio WebHook 进行交互
- 1. 和 2. 互动的方式。这通常是通过某种消息队列来实现的
这是一个序列图,详细说明了您的设置中各个组件之间的通信,据我所知:
希望这能够澄清 Twilio、您的 Web 服务器、WebSocket 服务器和客户端之间的通信。
如果这看起来过于复杂,那么您可以通过使用托管服务(例如 Pusher)来删除对 WebSocket 服务器和消息队列的要求。 ,我为谁工作。如果是这样的话,那么这个using Pusher & Twilio教程应该有用。这里的主要好处之一是您可以继续考虑请求和响应,而不必考虑通过消息队列进行跨组件通信。
关于php - 如何通过服务器websocket将twilio短信传递到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943746/