上篇bolg(agsXMPP + Openfire 即時通信開發(一) 【agsXMPP 鏈接 Openfire】)中agsXMPP的MiniClient已經能夠相互之間進行通信了,本篇介紹如何進行文件傳輸。html
首先咱們須要瞭解XMPP文件傳輸的整個對話過程:服務器
這篇文章寫的比較詳細.net
或者你能夠查看XMPP源文檔代理
經過閱讀以上文檔咱們已經瞭解XMPP傳輸文件前的對話過程,接下來按照上面的步驟完成消息對話。code
固然前提是須要你看懂MiniClient的XML收發代碼,其實在文件傳輸過程當中,70%的時間我都花費在閱讀agsXMPP 的代碼上了,20%調試,10%纔是我對代碼的改動。xml
注意: 一、獲取代理服務器後,與代理服務器通訊的Jid須要這樣得到htm
Jid jid = new Jid("proxy.127.0.0.1")當你獲取代理服務器資源和激活數據流的過程當中須要用這個jid。blog
二、在同一次文件傳輸過程當中xml消息的SID,都應該保持一致,同時Socket5鏈接的SID也應該爲同一個SID。資源
三、不管文件接收端連接代理仍是文件發送端連接代理,Socket5連接的Initiator屬性設置爲文件發送端的Jid,Target屬性設置爲文件接收端的Jid。