1.Login handler是所有东西的缘起. 登陆服务器之后生成一个Login handler.
2.在libjingle的例子中使用XmppPump作为Login handler. XmppPump,注意Pump,顾名思义就是一整个系统的动力源.由这个pump源源不断地把Message送给等待接受这些Message的地方.
3.XmppClient是在XmppPump的控制下,可以认为它是XmppPump的一部分.他负责从网上接受和发送Xmpp格式的消息.
4.XmppEngine是协助XmppClient工作的.可能是为它提供一些Utility API.diagram上面的三个圆环套圆环其实是包含关系.
5.PresencePushTask.首先解释一下Presence,这个单词是指这个账号目前的状态,是在线,还是下线还是离开.PresencePushTask主要是为了接收在线好友状态的线程.
6.注意,Libjingle里面以Task结尾的类都是线程类.
7.PresenceOutTask是起把自己的状态提交出去的作用.
8.stanza的原本的意思是英文诗里面的一段.在这里的意思是一个XMPP消息.
9.有两种stanza,一种是正常的Message,一种是做negotiating用的.
10.stanza被SessionManagerTask发送到SessionManager中.SessionManager又调用对应的Session来处理这些stanza.如果在Sesssion发现传进来的stanza是用来商议建立p2p连接的.就把这个stanza传送给P2PTransportChannel.其他的stanza就传送给订阅了这种stanza的Task,也就是其他消息处理线程.
11.其实我觉得这里所说的发送,还有diagram上面的箭头,其实是调用关系.只有淡色的箭头是数据传输的路线.
12.JingleInfoTask是专门管STUN服务器和中继传输服务器的.
13.基本结构是这样的一堆Task订阅了自己感兴趣的消息.来了消息就Pump到对应的Task里面去了.
2.在libjingle的例子中使用XmppPump作为Login handler. XmppPump,注意Pump,顾名思义就是一整个系统的动力源.由这个pump源源不断地把Message送给等待接受这些Message的地方.
3.XmppClient是在XmppPump的控制下,可以认为它是XmppPump的一部分.他负责从网上接受和发送Xmpp格式的消息.
4.XmppEngine是协助XmppClient工作的.可能是为它提供一些Utility API.diagram上面的三个圆环套圆环其实是包含关系.
5.PresencePushTask.首先解释一下Presence,这个单词是指这个账号目前的状态,是在线,还是下线还是离开.PresencePushTask主要是为了接收在线好友状态的线程.
6.注意,Libjingle里面以Task结尾的类都是线程类.
7.PresenceOutTask是起把自己的状态提交出去的作用.
8.stanza的原本的意思是英文诗里面的一段.在这里的意思是一个XMPP消息.
9.有两种stanza,一种是正常的Message,一种是做negotiating用的.
10.stanza被SessionManagerTask发送到SessionManager中.SessionManager又调用对应的Session来处理这些stanza.如果在Sesssion发现传进来的stanza是用来商议建立p2p连接的.就把这个stanza传送给P2PTransportChannel.其他的stanza就传送给订阅了这种stanza的Task,也就是其他消息处理线程.
11.其实我觉得这里所说的发送,还有diagram上面的箭头,其实是调用关系.只有淡色的箭头是数据传输的路线.
12.JingleInfoTask是专门管STUN服务器和中继传输服务器的.
13.基本结构是这样的一堆Task订阅了自己感兴趣的消息.来了消息就Pump到对应的Task里面去了.