Netcat-Implementierung in Python

ich fanddiese und benutze es als meine Basis, aber es hat nicht sofort funktioniert. Mein Ziel ist es auch, es als Paket anstelle eines Befehlszeilendienstprogramms zu behandeln, sodass meine Codeänderungen dies widerspiegeln.

class Netcat:
    def __init__(self, hostname, port):
        self.hostname = hostname
        self.port = port
    def send(self, content):
    self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    self.socket.connect((self.hostname, self.port))
    self.socket.setblocking(0)
    result = '';
    read_ready, write_ready, in_error = select.select([self.socket], [], [self.socket], 5)
    if(self.socket.sendall(content) != None):
        return
    while(1):
        buffer = ''
        try:                
            buffer = self.socket.recv(128)
            while(buffer != ''):
                result += buffer
                try:
                    buffer = self.socket.recv(128)
                except socket.error as err:
                    print (err, type(err))
                    buffer = ''
            if(buffer == ''):
                break
        except socket.error as err:
            print (err, type(err))
        if(buffer == ''):
            break
    return result

Wenn ich einen Basisbefehl an mein Gerät sende, wird Folgendes zurückgegeben.

50PMA-019 Connection Open
Atten #1 = 63dB

Mein Code liest die erste Zeile, aber dann erhalte ich die Fehlermeldung, dass die Verbindung vorübergehend nicht verfügbar ist und die zweite Zeile nicht angezeigt wird. Wenn ich ihn in "Blockieren" ändere, blockiert er nur und kehrt nie zurück. Irgendwelche Gedanken?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage