Python 3.x 使用python和python smpp接收SMS

Python 3.x 使用python和python smpp接收SMS,python-3.x,smpp,Python 3.x,Smpp,我是SMPP的新手,但我需要通过SMPP协议模拟流量。我已经从中找到了如何使用smpp lib发送SMS的教程 我正在试着写一个接收器,但我无法让它工作。请帮忙。 我的代码是: import smpplib class ClientCl(): client=None def receive_SMS(self): client=smpplib.client.Client('localhost',1000) try: c

我是SMPP的新手,但我需要通过SMPP协议模拟流量。我已经从中找到了如何使用smpp lib发送SMS的教程

我正在试着写一个接收器,但我无法让它工作。请帮忙。 我的代码是:

 import smpplib


class ClientCl():
    client=None
    def receive_SMS(self):
        client=smpplib.client.Client('localhost',1000)

        try:
            client.connect()          
            client.bind_receiver("sysID","login","password")
            sms=client.get_message()
            print(sms)

        except : 
            print("boom! nothing works")           
            pass


sms_getter=ClientCl.receive_SMS

据我所知,您正在使用的smpplib是位于的可用smpplib。查看您的代码和客户端代码,我找不到函数client.get_消息。也许你有一个旧版本的库?或者我找错图书馆了。在任何情况下,get_message函数都可能不会阻塞并等待消息到达

查看客户端代码,您似乎有两种选择:

  • 轮询库,直到收到有效消息
  • 设置库以侦听SMPP端口,并在消息到达时调用函数
如果查看该文件,它将显示如何设置库以实现第二个选项(这是更好的选项)

接收邮件或送达回执时,将调用client.set_message_received_handler()中定义的函数。在本例中,它是一个lambda函数。还有一个关于如何设置线程监听的示例

如果您喜欢更简单的轮询选项,则应使用
poll
功能。对于最简单的实现,您只需执行以下操作:

while True:
  client.Poll()

与前面一样,在client.set_message_received_handler()中设置的函数在消息到达后将被调用。

据我所知,您正在使用的smpplib是位于的可用函数。查看您的代码和客户端代码,我找不到函数client.get_消息。也许你有一个旧版本的库?或者我找错图书馆了。在任何情况下,get_message函数都可能不会阻塞并等待消息到达

查看客户端代码,您似乎有两种选择:

  • 轮询库,直到收到有效消息
  • 设置库以侦听SMPP端口,并在消息到达时调用函数
如果查看该文件,它将显示如何设置库以实现第二个选项(这是更好的选项)

接收邮件或送达回执时,将调用client.set_message_received_handler()中定义的函数。在本例中,它是一个lambda函数。还有一个关于如何设置线程监听的示例

如果您喜欢更简单的轮询选项,则应使用
poll
功能。对于最简单的实现,您只需执行以下操作:

while True:
  client.Poll()
与前面一样,一旦消息到达,将调用client.set_message_received_handler()中的函数集