Twisted - UDP和TCP服务器在一起
问题描述:
我有一个服务器'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服务器?
答
from twisted.application.internet import UDPServer, TCPServer
...
UDPServer(port, udp_server).setServiceParent(application)
TCPServer(port, tcp_server).setServiceParent(application)
我不明白。你说你必须使用UDP,但你说客户端使用TCP。还是你只是说你想运行两台服务器?这没有问题。无论如何,这两个协议不会在一起。 – freakish