MCPcopy Index your code
hub / github.com/HelloZeroNet/ZeroNet / getRandomPort

Method getRandomPort

src/File/FileServer.py:72–93  ·  view source on GitHub ↗
(self, ip, port_range_from, port_range_to)

Source from the content-addressed store, hash-verified

70 self.ui_server = None
71
72 def getRandomPort(self, ip, port_range_from, port_range_to):
73 self.log.info("Getting random port in range %s-%s..." % (port_range_from, port_range_to))
74 tried = []
75 for bind_retry in range(100):
76 port = random.randint(port_range_from, port_range_to)
77 if port in tried:
78 continue
79 tried.append(port)
80 sock = helper.createSocket(ip)
81 try:
82 sock.bind((ip, port))
83 success = True
84 except Exception as err:
85 self.log.warning("Error binding to port %s: %s" % (port, err))
86 success = False
87 sock.close()
88 if success:
89 self.log.info("Found unused random port: %s" % port)
90 return port
91 else:
92 time.sleep(0.1)
93 return False
94
95 def isIpv6Supported(self):
96 if config.tor == "always":

Callers 1

__init__Method · 0.95

Calls 2

createSocketMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected