2

我正在尝试设置我的服务器,以便有人可以通过我们网站上的聊天框与我联系。由于我不会一直在那里监视聊天,因此我正在尝试设置一个系统,其中聊天通过 websocket 路由到我的服务器(使用PHP-Websockets),然后通过短信发送到我的手机。这一切正常。我很难弄清楚我的响应如何回到客户端。当我回复文本时,Twilio 将访问我使用 sms 消息作为 post 变量指定的任何页面。如何将此发布消息传递给我的 websocket(它已经在运行),然后它可以将消息发送回客户端?谢谢你们的帮助

4

1 回答 1

4

Twilio 在收到您的 SMS 时通过 WebHook 调用(HTTP 请求)与您的应用程序通信。

由于 PHP-WebSockets 作为独立进程运行,而不是作为现有 Web 堆栈(例如 Apache)的一部分,因此您需要在设置中包含一些组件:

  1. PHP-WebSocket
  2. Web 服务器 - 为您的 HTML、CSS 等提供服务,并通过 Twilio WebHook 与之交互
  3. 1. 和 2. 交互的一种方式。这通常是通过某种消息队列来实现的

这是一个序列图,详细说明了设置中各​​个组件之间的通信,如我所见:

希望这可以阐明来自 Twilio、您的 Web 服务器、您的 WebSocket 服务器和您的客户端的通信。

如果这看起来过于复杂,那么您可以通过使用我工作的Pusher等托管服务来消除拥有 WebSocket 服务器和消息队列的要求。如果是这种情况,那么这个使用 Pusher 和 Twilio的教程应该很有用。这里的主要好处之一是您可以继续考虑请求和响应,而不必考虑通过消息队列进行跨组件通信。

于 2012-12-19T08:12:00.123 回答