Libjingle学习笔记(2)

1.SessionClient是沟通application和p2p模块的中间桥梁。比如,再共享文件的例子中。SessionClient就被派生成FileShareSessionClient。要传输的文件列表之类的东西都是由他控制.
2.只要有信息进出的时候,SessionManager都要调用SessionClient::OnSessionCreate()
3.Resource Allocator/Resource Classes是控制文件传输或者语音传输等等资源的。他们需要从Session中获得TransportChannel进行事实上的数据传输。
4.有两种Channel,一种是negotiation channel,一种是transport channel。
5.每个Session都持有一个或者多个Transport对象。Session是由SessionManager创建的。如果是进入的连接,SessionClient直接把这个连接给Session
anager,如果是出去的连接,session wrapper显示创建一个Session.在文件共享例子中这个session wrapper就是FileShareSession.
6.Session会把stanza的到来事件提醒SessionClient.
7.Session类型被定义在stanza的一个Unique ID中。
8.P2PTransport里面持有多个P2PTransportChannel。这些都是候选Channel。按照ICT,这些Channel事所有源IP和目的IP的组合。P2P传输是从这一堆Channel里面选出一个最好的。
9.PortAllocator事专门响应P2PTransport的请求生成所需要的端口的。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值