我正在尝试用一个允许qt脚本的C++程序来通信一个外部python脚本。其目标是从python代码部分控制C++程序(使用其qtscript函数)。
我知道如何在python中创建一个基本的套接字服务器/客户机:
#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"但是我在qtscript (没有javascript体验)中找不到太多的信息,我知道有QTcpSocket类,但我不确定从哪里开始获得像python这样的代码片段。有这个问题,但是它对我的问题没有用。还有这个样本,但我不能让它工作。
什么更好,客户端还是服务器在Python中?我能找到一个qtscript的例子吗?
发布于 2016-04-22 04:22:02
听起来好像在Qt C++程序中运行了一个QtScript (Javascript)解释器。您希望Python客户端能够向它发送命令。最简单的(但不是最安全的!)这样做的方法是让Python与基本的TCP或HTTP连接,发送一个可执行的Javascript程序,并让C++程序在内部执行。
这样,Python方面就相当琐碎了。对于C++端,首先创建一个QTcpServer,然后当它接收到数据时,读取所有数据并将字符串传递给QScriptEngine::evaluate()。有关如何使用QTcpServer,请参见此处:http://doc.qt.io/qt-5/qtnetwork-fortuneserver-example.html
https://stackoverflow.com/questions/36784574
复制相似问题