首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTScript与Python之间的套接字通信

QTScript与Python之间的套接字通信
EN

Stack Overflow用户
提问于 2016-04-22 04:01:04
回答 1查看 555关注 0票数 0

我正在尝试用一个允许qt脚本的C++程序来通信一个外部python脚本。其目标是从python代码部分控制C++程序(使用其qtscript函数)。

我知道如何在python中创建一个基本的套接字服务器/客户机:

代码语言:javascript
复制
#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()

..。

代码语言:javascript
复制
#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的例子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36784574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档