I would like to know the best way to run a non-blocking python3 socket server.
I currently have code that is:
def start(data):
global sock
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(("0.0.0.0", 8080))
sock.listen(2)
while True:
#Does something
client.close()
except KeyboardInterrupt:
kill()
def kill():
sock.close()
In my main program, how would I make this socket server run in the background (like, in another thread) and not block the main thread so I can continue to do other things in the main thread after the endpoint is created? For example, in my main thread I would like to be able to call createEndpoint(data)
and then also call some other functions and etc.