本文整理汇总了Python中nattraverso.portmapper.get_port_mapper函数的典型用法代码示例。如果您正苦于以下问题:Python get_port_mapper函数的具体用法?Python get_port_mapper怎么用?Python get_port_mapper使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_port_mapper函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: upnp_thread
def upnp_thread():
while True:
try:
is_lan, lan_ip = yield ipdiscover.get_local_ip()
if not is_lan:
continue
pm = yield portmapper.get_port_mapper()
yield pm._upnp.add_port_mapping(lan_ip, args.net.P2P_PORT, args.net.P2P_PORT, 'p2pool', 'TCP')
except:
if p2pool_init.DEBUG:
log.err()
yield deferral.sleep(random.expovariate(1/120))
示例2: upnp_thread
def upnp_thread():
while True:
try:
is_lan, lan_ip = yield ipdiscover.get_local_ip()
if is_lan:
pm = yield portmapper.get_port_mapper()
yield pm._upnp.add_port_mapping(lan_ip, args.p2pool_port, args.p2pool_port, 'p2pool', 'TCP')
except defer.TimeoutError:
pass
except:
if p2pool.DEBUG:
log.err(None, 'UPnP error:')
yield deferral.sleep(random.expovariate(1/120))
示例3: remove_mapping
def remove_mapping(mapper, port):
print 'Removing mapping for port', port
return mapper.unmap(port).addCallback(on_mapping_removed, mapper).addErrback(error_occured)
def on_mapping_done(result, mapper, port):
print '\tNew mapping added for:', port
return mapper.get_port_mappings().addCallback(
got_mappings).addCallback(lambda x:remove_mapping(mapper, port)).addErrback(error_occured)
def add_mapping(mapper):
print 'Adding new mapping, faking an http server on port 10333 on this host'
from twisted.web import server, resource as web_resource
port = reactor.listenTCP(10333, server.Site(resource=web_resource.Resource()))
return mapper.map(port).addCallback(on_mapping_done, mapper, port).addErrback(error_occured)
def got_port_mapper(mapper):
print "\tGot port mapper:", mapper
print "Retreiving existing mappings"
return mapper.get_port_mappings().addCallback(
got_mappings).addCallback(lambda x:add_mapping(mapper)).addErrback(error_occured)
def error_occured(err):
print "\tError occured:", err
get_port_mapper().addCallbacks(got_port_mapper,error_occured).addCallback(lambda x:reactor.stop())
print 'Attempting to get_port_mapper()'
reactor.run()