예제 #1
0
    def handleClientConnection(self):
        socket = self.nextPendingConnection()

        if not self.isConnected():
            self.socket = socket
            self.socket.readyRead.connect(self.handleReadyRead)
            self.socket.disconnected.connect(self.handleClientDisconnect)
            self.comGotConnection.emit()
            if self.verbose: print "Connected new client"
        else:  # Refuse new socket if one already exists
            message = TCPMessage(
                message_type="Busy")  # from tcpMessage.TCPMessage
            if self.verbose: print "Sent: \n" + str(message)
            socket.write(message.toJSON() + "\n")
            socket.disconnectFromHost()
            socket.close()
예제 #2
0
    def handleClientConnection(self):
        socket = self.nextPendingConnection()

        if not self.isConnected():
            self.socket = socket
            self.socket.readyRead.connect(self.handleReadyRead)
            self.socket.disconnected.connect(self.handleClientDisconnect)
            self.comGotConnection.emit()
            if self.verbose:
                print "Connected new client"
        else:  # Refuse new socket if one already exists
            message = TCPMessage(message_type="Busy")  # from tcpMessage.TCPMessage
            if self.verbose:
                print "Sent: \n" + str(message)
            socket.write(message.toJSON() + "\n")
            socket.disconnectFromHost()
            socket.close()
예제 #3
0
    def sendTestMessage(self):
        if self.message_ID == 1:
            # Create Test message
            message = TCPMessage(message_type="Stage Position",
                                 message_data={
                                     "Stage_X": 100.00,
                                     "Stage_Y": 0.00
                                 })
        elif self.message_ID == 2:
            message = TCPMessage(message_type="Movie",
                                 message_data={
                                     "Name": "Test_Movie_01",
                                     "Parameters": 1
                                 })

        else:
            message = TCPMessage(message_type="Done")

        self.message_ID += 1
        self.sent_message = message
        self.client.sendMessage(message)
예제 #4
0
    def handleReadyRead(self):
        message_str = ""
        while self.socket.canReadLine():
            # Read data line
            message_str += str(self.socket.readLine())

        # Create message.
        message = TCPMessage.fromJSON(message_str)
        if self.verbose: print "Received: \n" + str(message)

        if message.getType() == "Busy":
            self.handleBusy()
        else:
            self.messageReceived.emit(message)
    def handleReadyRead(self):
        """
        Create TCP message class from JSON message and forward as appropriate
        """
        message_str = ""
        while self.socket.canReadLine():
            # Read data line
            message_str += str(self.socket.readLine(), self.encoding)

        # Create message.
        message = TCPMessage.fromJSON(message_str)
        if self.verbose:
            print("Received: \n" + str(message))

        if (message.getType() == "Busy"):
            self.handleBusy()
        else:
            self.messageReceived.emit(message)