Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SMPP实现,不断打开和关闭套接字:有害吗?_Php_Sockets_Smpp - Fatal编程技术网

PHP SMPP实现,不断打开和关闭套接字:有害吗?

PHP SMPP实现,不断打开和关闭套接字:有害吗?,php,sockets,smpp,Php,Sockets,Smpp,我发现这个SMPP收发器实现: 我使用smpp_收发器.php的方式如下: 文件send.php require_once "smpp_transceiver.php"; ... // Open socket $tx = new SMPP('SOME IP HERE', $port); // (1) $tx->debug = false; $tx->system_type = $systemType; $tx->

我发现这个SMPP收发器实现:

我使用
smpp_收发器.php
的方式如下:


文件
send.php

require_once "smpp_transceiver.php";

...

// Open socket
$tx = new SMPP('SOME IP HERE', $port);                               // (1)
$tx->debug = false;
$tx->system_type = $systemType;
$tx->addr_npi = 1;

// Login as transmitter
$bindResult = $tx->bindTransmitter($username, $password);

$tx->sms_source_addr_npi = 1;
$tx->sms_source_addr_ton = 0;
$tx->sms_dest_addr_ton = 0;
$tx->sms_dest_addr_npi = 1;

// Send SMS
$sendResult = $tx->sendSMS($from, $to, $msg);

// Close socket
$tx->close();                                                        // (2)
$state2 = $tx->state;

// Delete object
unset($tx);
非常简单的问题:
持续打开(1)和关闭(2)插座可以吗?

这个
send.php
应该充当Web服务。
因此,我将连续多次这样称呼:

http://...../send.php?mobile=......&body=hey

http://...../send.php?mobile=......&body=blah

http://...../send.php?mobile=......&body=zort

http://...../send.php?mobile=......&body=troz

我被告知SMPP连接应该保持活动状态,而这显然不是在这里发生的。

还有两个问题:

  • 我怎样才能保持连接?假设这是PHP,
    smpp_收发器。PHP
    是一个非静态类。我希望对send.php的每个调用都使用相同的套接字连接

  • 如果前面的事情不可能,我是否应该对
    smpp\u收发器.php
    实现某种类型的同步锁(o)


  • 在可能的情况下,您应该保持连接的活跃性,但这也是一个频率的问题

    如果“频繁”是一分钟几次,那么,它就不是世界末日了。
    如果“频繁”是每秒几次,那么您可能希望为实际的SMPP部分寻找另一种方法。对于需要长时间保持活动状态的服务,PHP不是一个很好的选择。试试python、node或ruby。

    我实际上在使用java(带SMSLib),但我讨厌这个库。它有太多的问题。关于你的问题,“频繁”有时意味着每秒1条短信。有时必须发送300条短信(所有短信都有不同的正文),因此需要向send.php(在我今天的场景中是send.jsp)发送300个HTTP请求。您使用的是php还是java?这对答案影响很大。我问的三个问题是关于PHP的。在我之前的评论中,我的意思是我将停止使用Java+“SMSLIB”。。。对不起,打扰了