我稍微修改了这个站点上的服务器客户端Twisted程序,该程序提供了一个可以充当服务器和客户端的程序(http://stackoverflow.com/questions/3275004/how-to-write-a-twisted-server -即此结果也-A-客户端).我能够将服务器客户端连接到一侧的外部客户端和另一端的外部服务器.我想通过服务器 - 客户端程序将数据从外部客户端传输到外部服务器.我遇到的问题是将ServerProtocol类(在服务器 - 客户端程序中)收到的行放入ClientProtocol类(在服务器 - 客户端程序中).我已经尝试了很多方法,包括尝试使用工厂引用,正如你可以从def init看到的那样但是我无法让它工作.(目前我只是向外部服务器和客户端发送文字)这是服务器 - 客户端代码:
from twisted.internet import protocol, reactor
from twisted.protocols import basic
class ServerProtocol(basic.LineReceiver):
def lineReceived(self, line):
print "line recveived on server-client",line
self.sendLine("Back at you from server-client")
factory = protocol.ClientFactory()
factory.protocol = ClientProtocol
reactor.connectTCP('localhost', 1234, factory)
class ClientProtocol(basic.LineReceiver):
def __init__(self, factory):
self.factory = factory
def connectionMade(self):
self.sendLine("Hello from server-client!")
#self.transport.loseConnection()
def lineReceived(self, line):
print "line recveived on server-client1.py",line
#self.transport.loseConnection()
def main():
import sys
from twisted.python import log
log.startLogging(sys.stdout)
factory = protocol.ServerFactory() …Run Code Online (Sandbox Code Playgroud) twisted ×1