Ich versuche, ein externes Python-Skript mit einem C++ - Programm zu kommunizieren, das qt-Scripting ermöglicht. Das Ziel ist es, das C++ - Programm (mit seinen qtscript API-Funktionen) teilweise aus Python-Code zu steuern.Sockets Kommunikation zwischen QTScript und Python
Ich weiß, wie man einen einfachen Socket-Server/Client in Python erstellen:
#Server code
import socket
server = socket.socket()
server.bind (("localhost", 8080))
server.listen(10)
client, client_adress = server.accept()
while True:
message= cliente.recv(1024)
if message== "quit":
break
print "Received:", message
client.send(message)
print "Goodby"
cliente.close()
server.close()
...
#client code
import socket
client = socket.socket()
client.connect(("localhost", 8080))
while True:
message = raw_input(">")
client.send(message)
if message == "quit":
break
print "Goodby"
Aber ich nicht viel Informationen zu finden kann, wie es in QtScript zu tun (Keine JavaScript Erfahrung), Ich weiß, es gibt die QTcpSocket Class, aber ich bin nicht wirklich sicher, wo ich anfangen soll, ein Snipet wie die Python zu bekommen, die ich habe Es gibt diese question, aber nicht nützliche Hinweise für mich ... und dort ist das samples aber ich kann nicht m ake es funktioniert.
Was ist besser, der Client oder der Server in Python? Konnte ich ein qtscript Beispiel finden?
Vielen Dank im Voraus!
Dank John !! Sie sind direkt am Ziel, beginne ich ein paar Dinge zu testen und bauen einen Prototyp: https://github.com/hasielhassan/Python2QtScript-SocketServer/tree/master/code Aber ich mit dem QByteArray Daten bin zu kämpfen Geben Sie die Befehle ein, die ich sende, und validiere sie. Ich denke, dass ich es in eine Zeichenfolge konvertieren muss, aber ich fand es komplexer, wie ich erwartet habe, die entsprechenden Zeilen sind die folgenden: https://github.com/hasielhassan/Python2QtScript-SocketServer/blob/master/code/SocketServer .js # L79 Haben Sie Hinweise, wie Sie damit fortfahren können? Gibt es eine andere Möglichkeit, die Daten zu validieren, um entsprechend zu reagieren? – hasielhassan
@hasielhassan: Gern geschehen. Ich bin mir nicht sicher, was du jetzt fragst. Wenn Sie nicht weiterkommen, sollten Sie eine neue Frage mit diesen Details posten. –
Hi, am Ende finde ich einen Weg, um die Werte des QByteArray in eine Zeichenfolge, vielleicht ist es nicht die beste, aber seine Arbeit ... https://github.com/hasielhassan/Python2QtScript-SocketServer/commit/8d9a18c8677769cb459ceb459d5bcc4e94155545 – hasielhassan