免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1960 | 回复: 4
打印 上一主题 下一主题

获得 X File Descriptor的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-26 09:47 |只看该作者 |倒序浏览
1.我想使用GLib的MainLoop方式来处理XEvent,需要用到X的File Descriptor建立IOChannel.
我的问题是,通过哪个XLib函数能够获得DISPLAY的File Descriptor?


我自己想的思路是:
使用socket链接到6000+DISPLAY端口(就是X Server),然后就用那个socket作为File Descriptor.这样可以吗?
如果是这样,我还不清楚是不是使用TCP?还是UDP? 我希望各位高手能讲解一下其中的细节.


2.获得File Descriptor之后该怎样处理XEvent呢?
我的想法是:
因为我看过Xlib Manual上面对于XEvent structure的说明.我注意到它是一个union,言下之意,所有的XEvent Structure大小相等.这样的话,我是不是就能直接read那个XEvent Structure呢?

先谢谢大家了

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
2 [报告]
发表于 2008-05-26 21:42 |只看该作者
原帖由 DingOunan 于 2008-5-26 09:47 发表
因为我看过Xlib Manual上面对于XEvent structure的说明.我注意到它是一个union,言下之意,所有的XEvent Structure大小相等.

你怎么言下的?union 的各个成员大小可以不同的。

论坛徽章:
0
3 [报告]
发表于 2008-05-27 08:31 |只看该作者

回复 #2 MMMIX 的帖子

谢谢您的关注.
我想,不是取最大的那个吗?所以我就认为XEvent这个structure的大小就等于最大的那一个了.
这样在读取的时候,不管是哪一种XEvent,read所带的那个引数都是sizeof(XEvent).

我没说清楚,对不起.

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
4 [报告]
发表于 2008-05-27 21:55 |只看该作者
原帖由 DingOunan 于 2008-5-27 08:31 发表
谢谢您的关注.
我想,不是取最大的那个吗?

对。

论坛徽章:
0
5 [报告]
发表于 2008-05-28 20:42 |只看该作者
这几天试验了诸多方案.有如下结果:
1.有一种东西叫做Unix Domain Socket,可以不通过网络层,直接拷贝数据.更适合做链接到本地Server的socket.

2.有一种更直接的方法,使用XConnectionNumber.其实前几天就看到这个函数了,但是这个东西的名字太具有诱惑性,我以为是return链接数量,就没有点开这个函数的链接.
其实,这个东西return 通向Server的FILE DESCRIPTOR  !!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP