gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 11:54:21 25 4
gpt4 key购买 nike

我需要在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 in a session

===

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

  • SMPP客户端需要针对从SMSC接收到的所有入站PDU发送回响应PDU。
  • 这些PDU之一是enquire_link,用于使连接保持 Activity 状态。如果SMPP客户端未能返回enquire_link_resp PDU,则连接将被丢弃。您可能会遇到更多。使用pfsockopen无法解决此问题。
  • 如果要提供传递确认,则SMPP客户端必须响应SMSC。
  • 如果SMPP客户端无法为其收到SMSC的PDU发送响应PDU(如果它从管道读取字节),则SMSC可能会重新发送其中的一些PDU。这带来了可能在SMPP客户端计算机上造成不必要的损失的风险。
  • 关于php - 用于SMPP/SMS的持久套接字/连接PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15199338/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com