def connect_ip(factory, config, ip_local_default=True, ip_version_default=4):
'''
Internal implementation that opens IP connections for factory based on
config. See connect() for details.
'''
# upgrade things to lists if they have been passed as single items
config = _listify(config)
ip_version_default = _listify(ip_version_default)
# now process the list
connectors = []
for item in config:
if not validate_connection_config(item,
must_have_ip=(not ip_local_default)):
# warn but skip invalid configs
continue
if 'port' in item:
port = int(item['port'])
if 'ip' in item:
ip = item['ip']
connectors.append(reactor.connectTCP(ip, port, factory))
elif ip_local_default:
for ip_version in ip_version_default:
ip = IP_CONNECT_DEFAULT[ip_version]
connectors.append(reactor.connectTCP(ip, port, factory))
return _unlistify(connectors)
评论列表
文章目录