如何通过服务器websocket将twilio sms传递到客户端

Posted

技术标签:

【中文标题】如何通过服务器websocket将twilio sms传递到客户端【英文标题】:How to pass twilio sms through server websocket to client side 【发布时间】:2012-12-19 00:29:16 【问题描述】:

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

【问题讨论】:

你是在问如何在 websocket 上进行双向通信? @Charles 实际上,我认为我要做的是有两个套接字连接 - 一个从客户端到服务器,一个从服务器到 twilio 【参考方案1】:

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

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

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

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

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

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

【讨论】:

以上是关于如何通过服务器websocket将twilio sms传递到客户端的主要内容,如果未能解决你的问题,请参考以下文章

如何将 +1 添加到用户电话号码 - 通过 Zapier、Webflow 到表格、表格到 Twilio

如何在呼叫任何人之前创建 Twilio 会议?

如何通过Websocket将arraybuffer作为二进制发送?

Twilio - 如何通过在 NodeJs 中提供呼叫 SID 来检索语音呼叫记录媒体文件

如何将 $_SESSION 变量传递给 websocket 服务器?

通过 zapier 发送 vcard 时如何解决 Twilio SMS 发送错误