def handle_handshake(self): request, headers = self._get_data().split('\r\n', 1) assert request.lower()== 'get / http/1.1' headers = mimetools.Message(StringIO(headers)) assert headers.get('connection', '').lower() == 'upgrade' assert headers.get('upgrade', '').lower() == 'websocket' assert headers.get('sec-websocket-version', '') == '13' key = headers.get('sec-websocket-key', '') assert key self._response_key = rkey = base64.b64encode( hashlib.sha1(key+_ws_key).digest()) self.push('HTTP/1.1 101 Switching Protocols\r\n') self.push(format_header('Connection', 'Upgrade')) self.push(format_header('Upgrade', 'websocket')) self.push(format_header('Sec-Websocket-Accept', rkey)) self.push(format_header('Sec-Websocket-Protocol', 'chat')) self.push('\r\n')
def handle_connect(self): self.push('GET {0} HTTP/1.1\r\n'.format(self.path)) self.push(format_header('Host', self.host)) self.push(format_header('Connection', 'Upgrade')) self.push(format_header('Upgrade', 'websocket')) self.push(format_header('Sec-Websocket-Key', self._key)) self.push(format_header('Sec-Websocket-Protocol', 'chat')) self.push(format_header('Sec-Websocket-Version', '13')) self.push('\r\n')
from settings import Settings from utils import format_data, save_to_file, format_header from time import sleep # MONITOR PROCESS TO GATHER COMPUTER RESOURCES (MEMORY, DISK AND ACPU) # =========================================================================================== if __name__ == '__main__': counter = 0 f = open('output.txt', 'w') f.write('TIMESTAMP;DISK;MEMORY;CPU\n') f.close() format_header() while True: timestamp, disk_usage, memory_usage, cpu_usage = format_data( disk_usage_threshold=Settings.DISK_USAGE_THRESHOLD, memory_usage_threshold=Settings.MEMORY_USAGE_THRESHOLD, cpu_usage_threshold=Settings.CPU_USAGE_THRESHOLD) counter += 1 if counter >= 10: save_to_file(timestamp, disk_usage, memory_usage, cpu_usage) sleep(Settings.MONITORING_PERIOD_IN_SECONDS)