forked from uncloud/uncloud
14 lines
354 B
Python
14 lines
354 B
Python
|
import socket
|
||
|
from contextlib import closing
|
||
|
|
||
|
|
||
|
def find_free_port():
|
||
|
with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s:
|
||
|
try:
|
||
|
s.bind(('', 0))
|
||
|
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||
|
except Exception:
|
||
|
return None
|
||
|
else:
|
||
|
return s.getsockname()[1]
|