Xlib: unexpected async reply

ffzgz 2007-04-08 04:10:53
打算做了局域网传送消息和文件的程序,我用GLADE做好了界面,然后用一个线程监听套接口,发现消息到达后显示在控件中,可程序运行的时候就出这个错误,这是怎么回事?能显示消息,文件传的时候就出错了
...全文
894 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffzgz 2007-04-29
  • 打赏
  • 举报
回复
要是在GTK里面怎么发信号?
我用gdk_thread_enter和gdk_thread_leave解决的
baymoon 2007-04-29
  • 打赏
  • 举报
回复
应该是显示不同步的原因,发生这个错误的主要原因是Xlib同时只能有一个进行X界面的刷新,而你的程序肯定是用到了多线程,并且刷新界面也不是在同一个方法中而导致的这个不同步的错误,解决方法可以参考将刷新界面部分的咚咚,全部放到一个函数里面实现,然后其他需要刷新,就采用发射信号触发这个方法的调用即可达到多线程刷新界面的目的而又不会出现类似X不同步的错误了;
比如,在linux下qt中,刷新界面只用paintEvent方法,而凡是遇到需要刷新的地方,都采用update触发,如果是多线程,则采用QApplication::postEvent(...QPaintEvent()...)来进行刷新,如此即可;
whl3390 2007-04-25
  • 打赏
  • 举报
回复
是不是多线程的问题啊
ffzgz 2007-04-17
  • 打赏
  • 举报
回复
这个错误是怎么回事啊,没人知道么

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧