本文整理汇总了Python中twisted.application.internet.TCPServer方法的典型用法代码示例。如果您正苦于以下问题:Python internet.TCPServer方法的具体用法?Python internet.TCPServer怎么用?Python internet.TCPServer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类twisted.application.internet
的用法示例。
在下文中一共展示了internet.TCPServer方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def run():
config.read()
logs.api()
top_service = service.MultiService()
db = Db()
datalib.db = db
db.setServiceParent(top_service)
http_service = internet.TCPServer(config.HTTP_PORT, Site(db), interface=config.HTTP_ADDR)
http_service.setServiceParent(top_service)
top_service.startService()
reactor.addSystemEventTrigger('before', 'shutdown', top_service.stopService)
reactor.run()
示例2: makeService
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def makeService(config):
f = ftp.FTPFactory()
r = ftp.FTPRealm(config['root'])
p = portal.Portal(r, config.get('credCheckers', []))
f.tld = config['root']
f.userAnonymous = config['userAnonymous']
f.portal = p
f.protocol = ftp.FTP
try:
portno = int(config['port'])
except KeyError:
portno = 2121
return internet.TCPServer(portno, f)
示例3: testTCP
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def testTCP(self):
s = service.MultiService()
s.startService()
factory = protocol.ServerFactory()
factory.protocol = TestEcho
TestEcho.d = defer.Deferred()
t = internet.TCPServer(0, factory)
t.setServiceParent(s)
num = t._port.getHost().port
factory = protocol.ClientFactory()
factory.d = defer.Deferred()
factory.protocol = Foo
factory.line = None
internet.TCPClient('127.0.0.1', num, factory).setServiceParent(s)
factory.d.addCallback(self.assertEqual, b'lalala')
factory.d.addCallback(lambda x : s.stopService())
factory.d.addCallback(lambda x : TestEcho.d)
return factory.d
示例4: testPrivileged
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def testPrivileged(self):
factory = protocol.ServerFactory()
factory.protocol = TestEcho
TestEcho.d = defer.Deferred()
t = internet.TCPServer(0, factory)
t.privileged = 1
t.privilegedStartService()
num = t._port.getHost().port
factory = protocol.ClientFactory()
factory.d = defer.Deferred()
factory.protocol = Foo
factory.line = None
c = internet.TCPClient('127.0.0.1', num, factory)
c.startService()
factory.d.addCallback(self.assertEqual, b'lalala')
factory.d.addCallback(lambda x : c.stopService())
factory.d.addCallback(lambda x : t.stopService())
factory.d.addCallback(lambda x : TestEcho.d)
return factory.d
示例5: createCacheService
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def createCacheService(options):
from rurouni.cache import MetricCache
from rurouni.protocols import CacheManagementHandler
MetricCache.init()
state.events.metricReceived.addHandler(MetricCache.put)
root_service = createBaseService(options)
factory = ServerFactory()
factory.protocol = CacheManagementHandler
service = TCPServer(int(settings.CACHE_QUERY_PORT), factory,
interface=settings.CACHE_QUERY_INTERFACE)
service.setServiceParent(root_service)
from rurouni.writer import WriterService
service = WriterService()
service.setServiceParent(root_service)
return root_service
示例6: getService
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def getService(self):
"""Return service to be run
This handles the easy case where the CanaryService class is
also the Factory/Datagram class. Subclasses should override
this if more intricracy is needed.
"""
if isinstance(self, Factory):
return internet.TCPServer(self.port, self)
elif isinstance(self, DatagramProtocol):
return internet.UDPServer(self.port, self)
err = 'The class %s does not inherit from either Factory or DatagramProtocol.' % (
self.__class__.__name__
)
raise Exception(err)
示例7: main
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def main():
with open('/tmp/server.pem', 'rb') as fp:
certData = fp.read()
sslcert = ssl.PrivateCertificate.loadPEM(certData)
logging.basicConfig(level=logging.INFO)
socks = MySOCKSv4Factory("http://127.0.0.1:2357", "http://127.0.0.1:8080", sslcert)
socks.protocol = MySOCKSv4
srv = service.MultiService()
srv.addService(internet.TCPServer(9050, socks))
srv.addService(internet.TCPServer(2357, server.Site(WebEchoService())))
application = service.Application("Receive Request")
srv.setServiceParent(application)
srv.startService()
reactor.run()
示例8: makeService
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def makeService(config):
import client, cache, hosts
ca, cl = [], []
if config['cache']:
ca.append(cache.CacheResolver(verbose=config['verbose']))
if config['recursive']:
cl.append(client.createResolver(resolvconf=config['resolv-conf']))
if config['hosts-file']:
cl.append(hosts.Resolver(file=config['hosts-file']))
f = server.DNSServerFactory(config.zones, ca, cl, config['verbose'])
p = dns.DNSDatagramProtocol(f)
f.noisy = 0
ret = service.MultiService()
for (klass, arg) in [(internet.TCPServer, f), (internet.UDPServer, p)]:
s = klass(config['port'], arg, interface=config['interface'])
s.setServiceParent(ret)
for svc in config.svcs:
svc.setServiceParent(ret)
return ret
示例9: makeService
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def makeService(config):
f = ftp.FTPFactory()
r = ftp.FTPRealm(config['root'])
p = portal.Portal(r)
p.registerChecker(checkers.AllowAnonymousAccess(), credentials.IAnonymous)
if config['password-file'] is not None:
p.registerChecker(checkers.FilePasswordDB(config['password-file'], cache=True))
f.tld = config['root']
f.userAnonymous = config['userAnonymous']
f.portal = p
f.protocol = ftp.FTP
try:
portno = int(config['port'])
except KeyError:
portno = 2121
return internet.TCPServer(portno, f)
示例10: testTCP
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def testTCP(self):
s = service.MultiService()
s.startService()
factory = protocol.ServerFactory()
factory.protocol = TestEcho
TestEcho.d = defer.Deferred()
t = internet.TCPServer(0, factory)
t.setServiceParent(s)
num = t._port.getHost().port
factory = protocol.ClientFactory()
factory.d = defer.Deferred()
factory.protocol = Foo
factory.line = None
internet.TCPClient('127.0.0.1', num, factory).setServiceParent(s)
factory.d.addCallback(self.assertEqual, 'lalala')
factory.d.addCallback(lambda x : s.stopService())
factory.d.addCallback(lambda x : TestEcho.d)
return factory.d
示例11: testSimpleInternet
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def testSimpleInternet(self):
# XXX - replace this test with one that does the same thing, but
# with no web dependencies.
if not gotMicrodom:
raise unittest.SkipTest("Need twisted.web to run this test.")
s = "(dp0\nS'udpConnectors'\np1\n(lp2\nsS'unixConnectors'\np3\n(lp4\nsS'twisted.internet.app.Application.persistenceVersion'\np5\nI12\nsS'name'\np6\nS'web'\np7\nsS'sslConnectors'\np8\n(lp9\nsS'sslPorts'\np10\n(lp11\nsS'tcpPorts'\np12\n(lp13\n(I8080\n(itwisted.web.server\nSite\np14\n(dp16\nS'resource'\np17\n(itwisted.web.demo\nTest\np18\n(dp19\nS'files'\np20\n(lp21\nsS'paths'\np22\n(dp23\nsS'tmpl'\np24\n(lp25\nS'\\n Congratulations, twisted.web appears to work!\\n <ul>\\n <li>Funky Form:\\n '\np26\naS'self.funkyForm()'\np27\naS'\\n <li>Exception Handling:\\n '\np28\naS'self.raiseHell()'\np29\naS'\\n </ul>\\n '\np30\nasS'widgets'\np31\n(dp32\nsS'variables'\np33\n(dp34\nsS'modules'\np35\n(lp36\nsS'children'\np37\n(dp38\nsbsS'logPath'\np39\nNsS'timeOut'\np40\nI43200\nsS'sessions'\np41\n(dp42\nsbI5\nS''\np43\ntp44\nasS'unixPorts'\np45\n(lp46\nsS'services'\np47\n(dp48\nsS'gid'\np49\nI1000\nsS'tcpConnectors'\np50\n(lp51\nsS'extraConnectors'\np52\n(lp53\nsS'udpPorts'\np54\n(lp55\nsS'extraPorts'\np56\n(lp57\nsS'persistStyle'\np58\nS'pickle'\np59\nsS'uid'\np60\nI1000\ns."
d = pickle.loads(s)
a = Dummy()
a.__dict__ = d
appl = compat.convert(a)
self.assertEqual(service.IProcess(appl).uid, 1000)
self.assertEqual(service.IProcess(appl).gid, 1000)
self.assertEqual(service.IService(appl).name, "web")
services = list(service.IServiceCollection(appl))
self.assertEqual(len(services), 1)
s = services[0]
self.assertEqual(s.parent, service.IServiceCollection(appl))
self.assert_(s.privileged)
self.assert_(isinstance(s, internet.TCPServer))
args = s.args
self.assertEqual(args[0], 8080)
self.assertEqual(args[3], '')
示例12: testPrivileged
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def testPrivileged(self):
factory = protocol.ServerFactory()
factory.protocol = TestEcho
TestEcho.d = defer.Deferred()
t = internet.TCPServer(0, factory)
t.privileged = 1
t.privilegedStartService()
num = t._port.getHost().port
factory = protocol.ClientFactory()
factory.d = defer.Deferred()
factory.protocol = Foo
factory.line = None
c = internet.TCPClient('127.0.0.1', num, factory)
c.startService()
factory.d.addCallback(self.assertEqual, 'lalala')
factory.d.addCallback(lambda x : c.stopService())
factory.d.addCallback(lambda x : t.stopService())
factory.d.addCallback(lambda x : TestEcho.d)
return factory.d
示例13: makeService
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def makeService(self, options):
"""Override IServiceMaker.makeService."""
factory = bashplex.DelimitedBashReceiverFactory()
factory.ping_interval = int(options['ping-interval'])
factory.ping_timeout = int(options['ping-timeout'])
factory.startup_commands = filter_bash(
'/usr/share/epoptes/client-functions')
if config.system['ENCRYPTION']:
client_service = internet.SSLServer(
int(config.system['PORT']), factory, ServerContextFactory())
else:
client_service = internet.TCPServer(
int(config.system['PORT']), factory)
gid = grp.getgrnam(config.system['SOCKET_GROUP'])[2]
if not os.path.isdir(config.system['DIR']):
# TODO: for some reason this does 0750 instead
os.makedirs(config.system['DIR'], 0o2770)
os.chmod(config.system['DIR'], 0o2770)
os.chown(config.system['DIR'], -1, gid)
gui_service = internet.UNIXServer(
"%s/epoptes.socket" % config.system['DIR'],
guiplex.GUIFactory())
top_service = service.MultiService()
top_service.addService(client_service)
top_service.addService(gui_service)
return top_service
示例14: makeService
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def makeService(config):
ca, cl = _buildResolvers(config)
f = server.DNSServerFactory(config.zones, ca, cl, config['verbose'])
p = dns.DNSDatagramProtocol(f)
f.noisy = 0
ret = service.MultiService()
for (klass, arg) in [(internet.TCPServer, f), (internet.UDPServer, p)]:
s = klass(config['port'], arg, interface=config['interface'])
s.setServiceParent(ret)
for svc in config.svcs:
svc.setServiceParent(ret)
return ret
示例15: makeService
# 需要导入模块: from twisted.application import internet [as 别名]
# 或者: from twisted.application.internet import TCPServer [as 别名]
def makeService(config):
if config["interface"] != "127.0.0.1":
print()
print("WARNING:")
print(" You have chosen to listen on a non-local interface.")
print(" This may allow intruders to access your local network")
print(" if you run this on a firewall.")
print()
t = socks.SOCKSv4Factory(config['log'])
portno = int(config['port'])
return internet.TCPServer(portno, t, interface=config['interface'])