• 5302阅读
  • 1回复

XChinux 關於ICE與QT的問題,請解答 [复制链接]

上一主题 下一主题
离线jiaer
 

只看楼主 倒序阅读 楼主  发表于: 2010-08-02
— 本帖被 XChinux 执行加亮操作(2010-09-03) —
之前看你說過ICE與QT信號阻塞的問題,請問現在解決了嗎?
還有一個問題,QT 能否 通過ICE實現數據查詢,比如
客戶端發出一個SELECT查詢(如果調用服務,應該如何調用),然後通過ICE到Server,Server調用數據庫,然後如何返回結果集?

請不吝賜教。
离线XChinux

只看该作者 1楼 发表于: 2010-08-04
首先,Qt与Ice有不同的事件处理循环,所以要想Ice服务(而非客户端)与Qt的事件循环一起工作,则须Ice主循环放到另一个Qt线程中,当然如不退出Ice事件循环,则其所在的Qt线程无法进行自己的事件循环。目前我只知道这么多,没有细究它们各自的事件循环处理方式,或许有更好的处理方法。当然,Ice客户端一般来说没有事件循环,所以直接在Qt中用即可。在Ice服务程序中,当然你可以使用Qt的一些类,不使用signal/slot机制即可。

客户端发出select查询,服务器端ice进行数据库查询并返回结果是可以的,不过你最好设置数据集的每次获取数量(比如在sql语句中加limit 100这样的限制返回结果集的语句),因为Ice的缓存大小是有限制的(在ice配置文件中设置)。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个