2008年5月27日

基于Mozilla Thunderbird的扩展开发(八)---进程间通信之Socket篇(续)

摘要: 最近遇到这样一个需求:在我们的MFC程序中控制Thunderbird。拿到这个奇怪的需求后,有了这么几个想法:1)用全局钩子试着勾住Thunderbird,可细想好像不对。2)用spy++探查点击Thunderbird的各个菜单,按钮时触发的事件,总归是win32平台上跑的程序,归根到底还是事件触发,从理论上说应该是可以在我们自己的MFC程序中模拟目标程序中的各个事件触发。 但接触到Mozilla的socket方面的知识后,放弃了上面的想法,改用socket通信来实现此需求。一来Thunderbird源代码可以自行修改,因此可以加入一些代码使之成为一个类似HTTP服务器的服务器端程序,二来使用socket进行连接与语言无关,因此C++的程序可以和javascript的程序完成通信,但缺点也很明显,要占用端口,只涉及到本地机器的通信却使用了socket这样的网络通信机制。 阅读全文

posted @ 2008-05-27 22:19 Phinecos(洞庭散人) 阅读(2364) 评论(4) 推荐(0) 编辑

《UNIX网络编程 卷2》读书笔记(二)

摘要: 如何知道进程在一个空消息队列中放入一个消息?如果阻塞在msgrcv调用中,则除了等待无法做其他事情,如果给msgrcv指定非阻塞标志(IPC_NOWAIT),尽管不阻塞了,但必须持续调用该函数来确定何时有消息到达,也就是采用轮询方式(polling),Posix消息队列允许异步事件通知来通知何时有消息放入到某个空消息队列中,有2种方式: 1)产生一个信号 2)创建一个线程执行一个指定函... 阅读全文

posted @ 2008-05-27 16:27 Phinecos(洞庭散人) 阅读(2269) 评论(0) 推荐(0) 编辑

导航