LucaVivona's picture
Gradio Flow Application
c132e32
raw
history blame
772 Bytes
import socket
import random
class Dock:
def __init__(self) -> None:
self.num_ports = 20
self.port_range = (7860, 7880)
def portConnection(self, port : int):
s = socket.socket(
socket.AF_INET, socket.SOCK_STREAM)
result = s.connect_ex(("localhost", port))
if result == 0: return True
return False
def determinePort(self, max_trial_count=10):
trial_count = 0
while trial_count <= max_trial_count:
port=random.randint(*self.port_range)
if not self.portConnection(port):
return port
trial_count += 1
raise Exception('Exceeded Max Trial count without finding port')