Twisted - UDP和TCP服务器在一起

时间:2017-06-21 15:35:35

标签: python networking twisted twisted.internet

我有一个服务器' MyServer'的python实现,它通过UDP连接到网络,因此继承自DatagramProtocol。此服务器只能使用UDP与网络连接(由于网络规范,无法更改)。服务器以下列方式作为应用程序运行:

udp_server = internet.UDPServer(port, server)
application = service.Application("MyServer")
udp_server.setServiceParent(application)

我也有POP3服务器的实现。但是,此服务器由POP3客户端通过TCP连接。我想允许我的服务器也运行POP3服务器,如:

class MyServer(DatagramProtocol):
  def __init__(self, params):
     self.POP3server = POP3Server(params) #my implementation of POP3 server

TCP和UDP是完全不同的协议,但也许有可能或一个棘手的解决方案允许TCP POP3Server作为UDP服务器的一部分运行?

1 个答案:

答案 0 :(得分:1)

from twisted.application.internet import UDPServer, TCPServer

...
UDPServer(port, udp_server).setServiceParent(application)
TCPServer(port, tcp_server).setServiceParent(application)