Die Suche ergab 137 Treffer

von midan23
Donnerstag 15. November 2018, 13:23
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Ich denke, die Funktion wird erst mal so bleiben: def send(path): sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.connect(path) sock.sendall("system_powerdown\n") while True: if not sock.recv(100): break sock.close() Wenn das "sock.sendall" nach der "while"-Schleife kommt, bleibt das S...
von midan23
Donnerstag 15. November 2018, 11:21
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Mach leider auch keinen Unterschied ...

Scheint, als ob zwischen "sock.sendall" und "sock.close" eine kurze Wartezeit notwendig ist ...

Hab gerade ein "time.sleep(0.1) versucht ... reicht aus.

Verstehen tu ich es immer noch nicht ... aber da es geht ...
von midan23
Donnerstag 15. November 2018, 10:05
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Jetzt hab ich den "socat" mal so aufgerufen: strace -o socat.out socat - UNIX:<pfad> <<EOT > system_powerdown > EOT Und hier die letzten Zeilen der "socat.out": getsockname(5, {sa_family=AF_UNIX}, [112->2]) = 0 recvfrom(3, 0x7ffd249b15b0, 519, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Die Ressource ist...
von midan23
Mittwoch 14. November 2018, 16:14
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Hab ich, ja ...
Im erste Post hatte ich ein die Ausgabe von "echo" über eine Pipe nach "socat" geschickt.
Da ich nicht weiss, wie ich das in Verbindung mit "strace" mache, habe ich es interaktiv genutzt ...
von midan23
Mittwoch 14. November 2018, 15:54
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Klar, wenn die alle leer sind, dann ist das ein endloses schlafen. Wie gesagt, was genau da der Unterschied ist, finde ich sehr schwer zu erkennen. Ggf. kannst du das socat nochmal tracen ohne den stoerenden output dazwischen. Denn das read kommt doch von einem anderen Prozess, oder? Wüsste nicht v...
von midan23
Mittwoch 14. November 2018, 15:16
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Wenn die "readlist" als einzige nicht leer ist, fährt die VM nicht runter
Wenn alle 3 Listen leer sind schon ... aber das Script durfte ich abbrechen
(Timeout wäre eine nette Idee gewesen, aber da kann ich gleich beim "sleep" bleiben)
von midan23
Mittwoch 14. November 2018, 13:25
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Den "select" habe ich mal so eingebaut: def send(path): print path sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.connect(path) sock.sendall("system_powerdown\n") readlist = [sock] writelist = [sock] xlist = [] select.select(readlist, writelist, xlist) sock.close() Keine Änderung ... ...
von midan23
Mittwoch 14. November 2018, 11:58
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Wie müsste ich die Funktion ändern, um da ein "select" einzubauen?
Wobei ich ehrlich zugebe, das die ganze Netzwerk-Programmierung für mich Neuland ist ...
von midan23
Mittwoch 14. November 2018, 11:30
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Hab mal "socat" mit "strace" laufen lassen: recvfrom(3, 0x7ffc0239a8e0, 519, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Die Ressource ist zur Zeit nicht verfügbar) getsockname(5, {sa_family=AF_UNIX}, [112->2]) = 0 recvfrom(3, 0x7ffc0239ad10, 519, MSG_DONTWAIT, NULL, NULL) = -1 EAGAIN (Die Ressource ist ...
von midan23
Mittwoch 14. November 2018, 10:27
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Hab ich mal ausprobiert ... selbst wenn ich ein "print sock.recv(1000)" einbaue bringt es nichts ...
von midan23
Mittwoch 14. November 2018, 09:30
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Nachdem ich eine Nacht darüber geschlafen habe: - Ich weiss nicht, wie "socat" die Kommunikation handhabt - Der einzige Unterschied zwischen Python-Shell und Script, der mir einfällt ist das timing Also habe ich das Script vom Anfang um zwei Zeilen bereichert: #!/usr/bin/env python2 import socket im...
von midan23
Dienstag 13. November 2018, 16:45
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Da die Datei von "strace" etwas lang ist, pack ich hier mal nur den Schluss rein: sendto(3, "system_powerdown\n", 17, 0, NULL, 0) = 17 close(3) = 0 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fbb73bf73c0}, {sa_handler=0x7fbb73725cb0, sa_mask=[], sa_flag...
von midan23
Dienstag 13. November 2018, 14:22
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Genau das ist es ja, was ich nicht verstehe ... in der Python-Shell geht es, als eigenständiges Script nicht ...

Ich hab mal die Funktion in einer Python-Shell importiert und aufgerufen ... Es kommen keine Fehlermeldungen ... und die VM läuft weiter ...
von midan23
Dienstag 13. November 2018, 14:04
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Nur als normaler Benutzer ... der socket liegt ja auch in einem Unterordner meines $HOME

Da es in der Python-Shell funktioniert, sollte es doch auch als Funktion in einem eigenen Script funktionieren, oder?

Und bevor jemand fragt: Ich nutze keine IDE, sondern "vim" und "bash" in "xterm" ...
von midan23
Dienstag 13. November 2018, 13:15
Forum: Netzwerkprogrammierung
Thema: Qemu-Monitor - Problem bei Nutzung über Socket
Antworten: 39
Zugriffe: 565

Re: Qemu-Monitor - Problem bei Nutzung über Socket

Ja, die wird angezeigt ... Ich werde wohl oder übel schauen, das ich den "socat"-Aufruf ins Script nachbaue ... zumindest so lange, bis es in reinem Python geht ... Könnte es am timing liegen? Ich versuche es mal mit einer kleinen Verzögerung zwischen "sock.connect" und "sock.sendall" ... [Update] e...