繁体   English   中英

用于SMPP / SMS的持久套接字/连接PHP

[英]Persistent socket/connection PHP for SMPP/SMS

我需要在PHP中设置一个持久的套接字连接,但不确定如何实现。 当前,当我发送SMS消息时,我a)打开套接字连接b)发送消息(通过SMS / SMPP)和c)关闭套接字连接

但是我不必一直打开和关闭连接。 而是,我要求

- 2 persistent connections that maintains connectivity to an SMSC (SMS centre) and reconnects when a timeout occurs. 
- One persistent connection for reading SMS and one for sending SMS.
- Automatic restart/recovery (i.e. when memory issues arise)
- Automatic looping to act as listener for incoming events such as receiving incoming delivery receipts and sms messages, as well as 'ping' (enquire link) to keep SMPP connection alive.

更新:想知道是否有人使用以下方法实现了上述目标: https : //github.com/shaneharter/PHP-Daemon

函数pfsockopen似乎具有您正在寻找的功能。 在会话中检查这个问题-PHP pfsockopen

===

对您的实现的个人观察。 我假设PHP代码将由传入请求触发,而在所有其他时间,SMPP客户端将处于非活动状态。 由于以下几个原因,这可能不太适合SMPP:

  • SMPP客户端需要针对他们从SMSC接收的所有入站PDU发送回响应PDU。
  • 这些PDU之一是enquire_link,用于使连接保持活动状态。 如果SMPP客户端未能返回enquire_link_resp PDU,则连接将被丢弃。 您可能会遇到更多。 使用pfsockopen无法解决此问题。
  • 如果要提供交货确认,则SMPP客户端必须响应SMSC。
  • 如果SMPP客户端无法发送针对它收到的SMSC的PDU的响应PDU(如果它从管道中读取字节),则SMSC可能会重新发送其中的一些PDU。 这带来了可能在SMPP客户端计算机上造成不必要的损失的风险。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM