基于Mozilla Thunderbird的扩展开发(五)---进程间通信之Socket篇(上)
2008-05-19 21:12
417 查看
const tBirdBiffServerUi = addEventListener("load", tBirdBiffServerUi.tBirdBiffServerOnLoad, true); addEventListener("close", tBirdBiffServerUi.tBirdBiffServerOnClose, true); 服务器类,负责创建服务器端socket,并异步监听来自客户端的请求,管理邮箱状态的变化和来自客户端的连接。 const CI = Components.interfaces, CC = Components.classes, CR = Components.results; const newMail= "1"; const noMail = "0"; const serverError = "9"; tBirdBiffServer.classID = Components.ID("{d2c9b4c6-2851-4d25-8cb6-3d3b037f8e1e}");//组件ID tBirdBiffServer.contractID = "@phinecos.cnblogs.com/TBbiff/server;1"; tBirdBiffServer.classDescription = "TBbiff Server Service"; function tBirdBiffServer() broadcast: function() addConnection: function(value) removeConnection: function(value) getServerSocket: function() closeServerSocket: function() initialize: function() monitorBiff: function(isStarting) closeAllConnections: function() finalize: function() updateUi: function(window) setMailStatus: function(value) check: function() checkServers: function() 来自客户端的连接对象类: function tBirdBiffServerConnection() tBirdBiffServerConnection.prototype = 服务器监听类,负责监听来自客户端的各个请求: function tBirdBiffServerConnection() tBirdBiffServerConnection.prototype = const tBirdBiffServerSocketListener = 服务器邮箱状态监听者,负责监视邮箱的状态变化: const tBirdBiffServerBiffStateListener = 实际的检查邮箱状态的处理过程放在tBirdBiffServerCheckCallback函数中。 const tBirdBiffServerCheckCallback = Ok,本文用javascript,遵循XPCOM规范实现了一个简单的TCP服务器,服务器类型为阻塞式I/O,客户端代码将在下一篇文章中介绍。 Reference:[/b] 1, https://addons.mozilla.org/en-US/thunderbird/addon/3788 相关文章推荐
|