贴个XMPP logs看看Pidgin是如何传输文件的

zhangsan给lisi发送01.jpg文件.

(20:23:15) jabber: Sending (ssl) ([email protected]/866e5eab): <iq type='get' id='purpleddb444d' to='[email protected]/spark'><query xmlns='http://jabber.org/protocol/disco#info'/></iq>

(20:23:15) jabber: Recv (ssl)(597): <iq id="purpleddb444d" to="[email protected]/866e5eab" type="result" from="[email protected]/spark"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="client" name="Smack" type="pc"/><feature var="http://jabber.org/protocol/xhtml-im"/><feature var="http://jabber.org/protocol/muc"/><feature var="http://jabber.org/protocol/si/profile/file-transfer"/><feature var="http://jabber.org/protocol/si"/><feature var="http://jabber.org/protocol/bytestreams"/><feature var="http://jabber.org/protocol/ibb"/><feature var="http://www.xmpp.org/extensions/xep-0166.html#ns"/></query></iq>

(20:23:15) jabber: Sending (ssl) ([email protected]/866e5eab): <iq type='set' id='purpleddb444e' to='[email protected]/spark'><si xmlns='http://jabber.org/protocol/si' id='purpleddb444f' profile='http://jabber.org/protocol/si/profile/file-transfer'><file xmlns='http://jabber.org/protocol/si/profile/file-transfer' name='01.jpg' size='3238'/><feature xmlns='http://jabber.org/protocol/feature-neg'><x xmlns='jabber:x:data' type='form'><field var='stream-method' type='list-single'><option><value>http://jabber.org/protocol/bytestreams</value></option><option><value>http://jabber.org/protocol/ibb</value></option></field></x></feature></si></iq>

(20:23:21) jabber: Recv (ssl)(349): <iq id="purpleddb444e" to="[email protected]/866e5eab" from="[email protected]/spark" type="result"><si xmlns="http://jabber.org/protocol/si"><feature xmlns="http://jabber.org/protocol/feature-neg"><x xmlns="jabber:x:data" type="submit"><field var="stream-method"><value>http://jabber.org/protocol/bytestreams</value></field></x></feature></si></iq>

(20:23:21) network: Listening on port: 62961
(20:23:23) network: found local i/f with address 192.168.1.101 on IPv4
(20:23:23) stun: using server 

(20:23:23) jabber: Sending (ssl) ([email protected]/866e5eab): <iq type='set' id='purpleddb4450' to='[email protected]/spark'><query xmlns='http://jabber.org/protocol/bytestreams' sid='purpleddb444f'><streamhost jid='[email protected]/866e5eab' host='192.168.1.101' port='62961'/></query></iq>

(20:23:23) jabber: in jabber_si_xfer_bytestreams_send_connected_cb
(20:23:23) jabber: in jabber_si_xfer_bytestreams_send_read_cb
(20:23:23) jabber: reading those first two bytes
(20:23:23) jabber: in jabber_si_xfer_bytestreams_send_read_cb
(20:23:23) jabber: reading 1 bytes for auth methods (trying to read 1 now)
(20:23:23) jabber: checking to make sure we're socks FIVE
(20:23:23) jabber: going to test 1 different methods
(20:23:23) jabber: testing 0
(20:23:23) jabber: in jabber_si_xfer_bytestreams_send_read_again_cb
(20:23:23) jabber: reading the first 5 bytes
(20:23:23) jabber: in jabber_si_xfer_bytestreams_send_read_again_cb
(20:23:23) jabber: reading 42 bytes for DST.ADDR + port num (trying to read 42 now)
(20:23:23) stun: using server 
(20:23:23) jabber: SOCKS5 connection negotiation completed. Waiting for IQ result to start file transfer.

(20:23:23) jabber: Recv (ssl)(220): <iq id="purpleddb4450" to="[email protected]/866e5eab" from="[email protected]/spark" type="result"><query xmlns="http://jabber.org/protocol/bytestreams"><streamhost-used jid="[email protected]/866e5eab"/></query></iq>

(20:23:23) jabber: jabber_si_connect_proxy_cb() will be looking at jsx 0789C8F0: jsx->streamhosts is 00000000 and jid is [email protected]/866e5eab
(20:23:23) jabber: Got local SOCKS5 streamhost-used.
(20:23:23) jabber: remove port mapping
(20:23:23) jabber: jabber_si_xfer_free(): freeing jsx 0789C8F0


具体就不解释了.

猜你喜欢

转载自mysuperbaby.iteye.com/blog/901548