Mozilla扩展系列链接:

1浅谈基于Mozilla Thunderbird的扩展开发

2基于Mozilla平台的扩展开发(续)----XPCOM组件篇

3基于Mozilla Thunderbird的扩展开发(三)---如何获取邮件的完整信息

4基于Mozilla Thunderbird的扩展开发(四)---修改源代码实现自动保存附件

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

      这个系列的前两篇文章主要是根据自己的需求,对Thunderbird的源代码进行修改,改进了Thunderbird的现有功能,关注点都在Thunderbird的老本行---邮件客户端的实现上,那是否Thunderbird就仅仅是一个邮件客户端呢?在我看来,并非如此,它源自Mozilla内核,就继承了Mozilla平台的光荣传统,应该视为一个优秀的可扩展的开发平台,更进一步来看,Mozilla的文化深入其骨髓,可以看到后来AdobeFlex,MicroSoftWPF都吸收了Mozilla平台界面与逻辑相分离的思想,所以接下来几篇文章我想写一个比较有意思的方面----进程间通信。

      进程间通信的概念在操作系统中有过详细的介绍,方法很多,我主要关注其中两种:socket通信,Pipe(管道)通信。

      本文的目的就是开发一个扩展,展示TCP/IP socket技术在Mozilla扩展开发中的应用。

服务器端主代码:

基于Mozilla Thunderbird的扩展开发(五)---进程间通信之Socket篇(上)  const tBirdBiffServerUi =


服务器类,负责创建服务器端socket,并异步监听来自客户端的请求,管理邮箱状态的变化和来自客户端的连接。


服务器监听类,负责监听来自客户端的各个请求:

基于Mozilla Thunderbird的扩展开发(五)---进程间通信之Socket篇(上)function tBirdBiffServerConnection()


服务器邮箱状态监听者,负责监视邮箱的状态变化:

基于Mozilla Thunderbird的扩展开发(五)---进程间通信之Socket篇(上)const tBirdBiffServerBiffStateListener =

实际的检查邮箱状态的处理过程放在tBirdBiffServerCheckCallback函数中。

基于Mozilla Thunderbird的扩展开发(五)---进程间通信之Socket篇(上)const tBirdBiffServerCheckCallback =


   Ok,本文用
javascript,遵循XPCOM规范实现了一个简单的TCP服务器,服务器类型为阻塞式I/O,客户端代码将在下一篇文章中介绍。

 Reference:

1 https://addons.mozilla.org/en-US/thunderbird/addon/3788

相关文章:

  • 2021-07-19
  • 2021-05-18
  • 2021-09-16
  • 2022-12-23
  • 2022-02-07
  • 2021-10-27
  • 2022-12-23
  • 2022-02-07
猜你喜欢
  • 2021-07-08
  • 2022-03-06
  • 2021-10-01
  • 2022-12-23
  • 2022-01-01
  • 2021-10-26
相关资源
相似解决方案