-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.py
More file actions
29 lines (22 loc) · 845 Bytes
/
server.py
File metadata and controls
29 lines (22 loc) · 845 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from socketserver import ThreadingTCPServer
from threading import Thread
import logging
from request_handler import RequestHandler
ADMIN_ID = '110086856'
class Server(Thread):
def __init__(self, host, port, dispatcher):
Thread.__init__(self)
self.daemon = True
self.server = ThreadingTCPServer((host, port), RequestHandler, bind_and_activate=False)
self.server.allow_reuse_address = True
self.server.server_bind()
self.server.server_activate()
self.server.dispatcher = dispatcher
def run(self):
logging.debug('server thread is running...')
self.server.serve_forever()
def stop(self):
logging.debug('server thread will be stopped')
self.server.shutdown()
self.server.server_close()
logging.debug('server thread is killed')