2017-06-21 83 views
0

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

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服务器?

+0

我不明白。你说你必须使用UDP,但你说客户端使用TCP。还是你只是说你想运行两台服务器?这没有问题。无论如何,这两个协议不会在一起。 – freakish

回答

1
from twisted.application.internet import UDPServer, TCPServer 

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