cn-py-serv/server/main.py
Иван Солнцев 440fe803d2 Split TCP socket server and HTTP handler.
- File reader function small improvent;
 - Move MAX_REQUEST_LINE_SIZE to common server file.
2024-10-03 14:50:42 +03:00

29 lines
977 B
Python

import threading
import socket
import logging
import os
import config
log = logging.getLogger(__name__)
def init_server_socket(server_handler):
try:
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as main_server_socket:
main_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
log.debug("Attempt to bind socket to 0.0.0.0:{}".format(config.SETUP["server"]["port"]))
main_server_socket.bind(("0.0.0.0", config.SETUP["server"]["port"]))
log.debug("Make socket is listen")
main_server_socket.listen()
while True:
conn, addr = main_server_socket.accept()
log.info("Accepted connection from %s", addr[0])
thr_serv_conn = threading.Thread(target=server_handler, args=(conn, addr,), daemon=True)
thr_serv_conn.run()
except KeyboardInterrupt:
log.info("Server get keyboard interrupt, bye!")