本文描述Smack中的XmppConnect connect方法执行的步骤,讲解 XmppConnect 如何将 socket 与 packetReader和packetWriter建立关联,数据如何交互的过程。
详细过程见下图:
1、在XmppConnect中根据配置创建了 socket;
2、将socket的输入流和输出流封装在 connect 的成员变量中;
3、创建PakcetReader和PacketWriter,将connect 赋予这两个对象的实例。
4、在PacketReader中创建了一个新的readerThread线程,提供 parsePackets()方法;
5、在PacketWriter中创建了一个新的writerThread线程,提供 writePackets()方法;
6、分别启动readerThread和writerThread。
从上面的过程可以看出,connect 封装了socket ,packetReader和packetWriter封装了connect ,
packetReader和packetWriter 通过connect的reader和writer直接操作socket的输入流和输入流。
上述过程完成 XmppConnection ----> PacketReader和PacketWriter 的过渡。
下一步从PacketReader 和 PacketWriter 开始作为入口分析。