def _connect(self): problems = get_supported_problems() versions = get_runtime_versions() log.info('Opening connection to: [%s]:%s', self.host, self.port) while True: try: self.conn = socket.create_connection((self.host, self.port), timeout=5) except OSError as e: if e.errno != errno.EINTR: raise else: break self.conn.settimeout(300) self.conn.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) if self.ssl_context: log.info('Starting TLS on: [%s]:%s', self.host, self.port) self.conn = self.ssl_context.wrap_socket(self.conn, server_hostname=self.host) log.info('Starting handshake with: [%s]:%s', self.host, self.port) self.input = self.conn.makefile('rb') self.output = self.conn.makefile('wb', 0) self.handshake(problems, versions, self.name, self.key) log.info('Judge "%s" online: [%s]:%s', self.name, self.host, self.port)
def _connect(self): self.conn = socket.create_connection((self.host, self.port)) self.conn.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) self.input = self.conn.makefile('r') self.output = self.conn.makefile('w', 0) self.handshake(get_supported_problems(), get_runtime_versions(), self.name, self.key)