def run(self):
global httpd,home
logger.info('starting server...')
httpd = None
try:
cert = os.path.join(home,'cert.pem')
if ui.https_media_server:
if not os.path.exists(cert):
self.cert_signal.emit(cert)
if not ui.https_media_server:
server_address = (self.ip,self.port)
httpd = ThreadedHTTPServerLocal(server_address, HTTPServer_RequestHandler)
self.media_server_start.emit('http')
elif ui.https_media_server and os.path.exists(cert):
server_address = (self.ip,self.port)
httpd = ThreadedHTTPServerLocal(server_address, HTTPServer_RequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket,certfile=cert,ssl_version=ssl.PROTOCOL_TLSv1_2)
self.media_server_start.emit('https')
#httpd = MyTCPServer(server_address, HTTPServer_RequestHandler)
except OSError as e:
e_str = str(e)
logger.info(e_str)
if 'errno 99' in e_str.lower():
txt = 'Your local IP changed..or port is blocked.\n..Trying to find new IP'
send_notification(txt)
self.ip = get_lan_ip()
txt = 'Your New Address is '+self.ip+':'+str(self.port) + '\n Please restart the player'
send_notification(txt)
change_config_file(self.ip,self.port)
server_address = (self.ip,self.port)
#httpd = MyTCPServer(server_address, HTTPServer_RequestHandler)
httpd = ThreadedHTTPServerLocal(server_address, HTTPServer_RequestHandler)
else:
pass
if httpd:
logger.info('running server...at..'+self.ip+':'+str(self.port))
#httpd.allow_reuse_address = True
httpd.serve_forever()
logger.info('quitting http server')
else:
logger.info('server not started')
评论列表
文章目录