def socketError(self, error): logger.error("TCP Socket Error: " + self.socket.errorString()) if self.state > ClientState.NONE: # Positive client states deserve user notification. QtGui.QMessageBox.critical( None, "TCP Error", "A TCP Connection Error has occurred:<br/><br/><b>" + self.socket.errorString() + "</b>", QtGui.QMessageBox.Close)
def socketError(self, error): logger.error("TCP Socket Error: " + self.socket.errorString()) if self.state > ClientState.NONE: # Positive client states deserve user notification. QtGui.QMessageBox.critical( None, "TCP Error", "A TCP Connection Error has occurred:<br/><br/><b>" + self.socket.errorString() + "</b>", QtGui.QMessageBox.Close, )
def dispatchJSON(self, data_string, stream): ''' A fairly pythonic way to process received strings as JSON messages. ''' message = json.loads(data_string) cmd = "handle_" + message['command'] #logger.debug("Incoming JSON Command: " + data_string) if hasattr(self, cmd): getattr(self, cmd)(message) else: logger.error("command unknown : %s", cmd)
def doConnect(self): logger.debug("Connecting to server") if self.client.state == ClientState.ACCEPTED: self.progress.setCancelButtonText("Cancel") self.progress.setWindowFlags(QtCore.Qt.CustomizeWindowHint | QtCore.Qt.WindowTitleHint) self.progress.setAutoClose(False) self.progress.setAutoReset(False) self.progress.setModal(1) self.progress.setWindowTitle("Galactic War Network...") self.progress.setLabelText("Gating in ...") self.progress.show() # self.login = self.client.login.strip() # logger.info("Attempting to gate as: " + str(self.client.login)) self.state = ClientState.NONE # Begin connecting. self.socket.connectToHost(LOBBY_HOST, LOBBY_PORT) while (self.socket.state() != QtNetwork.QAbstractSocket.ConnectedState ) and self.progress.isVisible(): QtGui.QApplication.processEvents() # #Perform Version Check first if not self.socket.state( ) == QtNetwork.QAbstractSocket.ConnectedState: self.progress.close() # in case it was still showing... # We either cancelled or had a TCP error, meaning the connection failed.. if self.progress.wasCanceled(): logger.warn("doConnect() aborted by user.") else: logger.error("doConnect() failed with clientstate " + str(self.state) + ", socket errorstring: " + self.socket.errorString()) return False else: return True
def doConnect(self): logger.debug("Connecting to server") if self.client.state == ClientState.ACCEPTED: self.progress.setCancelButtonText("Cancel") self.progress.setWindowFlags(QtCore.Qt.CustomizeWindowHint | QtCore.Qt.WindowTitleHint) self.progress.setAutoClose(False) self.progress.setAutoReset(False) self.progress.setModal(1) self.progress.setWindowTitle("Galactic War Network...") self.progress.setLabelText("Gating in ...") self.progress.show() # self.login = self.client.login.strip() # logger.info("Attempting to gate as: " + str(self.client.login)) self.state = ClientState.NONE # Begin connecting. self.socket.connectToHost(LOBBY_HOST, LOBBY_PORT) while (self.socket.state() != QtNetwork.QAbstractSocket.ConnectedState) and self.progress.isVisible(): QtGui.QApplication.processEvents() # #Perform Version Check first if not self.socket.state() == QtNetwork.QAbstractSocket.ConnectedState: self.progress.close() # in case it was still showing... # We either cancelled or had a TCP error, meaning the connection failed.. if self.progress.wasCanceled(): logger.warn("doConnect() aborted by user.") else: logger.error( "doConnect() failed with clientstate " + str(self.state) + ", socket errorstring: " + self.socket.errorString() ) return False else: return True