使用版本:1.1.10
今天弄了一下gloox中自帶的收發檔案例子,收發檔案的例子都是好使的,只不過,在除錯過程中需要注意一些問題,下面將我遇到的問題做個記錄(例子中以in-band bytestreams方式收發)
。1、傳送檔案過程中遇到404錯誤
<
iq type
='error'
id='uid-8509a748-00000005'
to='wanghaiguang@wanghaiguang-wk/glooxsendfile'from='[email protected]/spark
2.6.3'
><
sixmlns
=''
id='uid-8509a748-00000006'
profile
='/profile/file-transfer'>xmlns
='/profile/file-transfer'
name
='d:\offline.bmp'
size
='6998'/>xmlns
=''>xmlns
='jabber:x:data'
type
='form'>type
='list-single'var='stream-method'>label
='ibb'>
label
='oob'>jabber:iq:oob
label
='s5b'>
code
='404'
type
='cancel'>xmlns
='urn:ietf:params:xml:ns:xmpp-stanzas'/>
可以將ip位址換成伺服器名稱試試
jidj( "[email protected]/gloox" );——>
jid
j( "www@wanghaiguang-wk/gloox" );
2、傳送檔案過程中遇到503錯誤
<
iq type
='error'
id='uid-8663a748-00000005'
from
='www@wanghaiguang-wk/glooxsend'to='wanghaiguang@wanghaiguang-wk/glooxsendfile'>xmlns
=''
id='uid-8663a748-00000006'
profile
='/profile/file-transfer'>xmlns
='/profile/file-transfer'
name
='d:\offline.bmp'
size
='6998'/>xmlns
=''>xmlns
='jabber:x:data'
type
='form'>type
='list-single'
var='stream-method'>label
='ibb'>
label
='oob'>jabber:iq:oob
label
='s5b'>
code
='503'
type
='cancel'>xmlns
='urn:ietf:params:xml:ns:xmpp-stanzas'/>
這個問題可能是由於你接收端的資源名稱與傳送端
不匹配//
接收端登入的jid
jidjid( "[email protected]/glooxsendfile" );
j =
newclient( jid, "111" );
//傳送端的jid名稱(傳送給對方的jid名稱)
jidj( "www@wanghaiguang-wk/gloox" );
if( j.resource().empty() )
Qt檔案傳輸小記
傳輸檔案時,簡單的文字檔案可以以字串的形式傳輸。一般的無格式檔案則以二進位制格式傳輸。編寫程式涉及的buffer類有 qfile qbytearray qstring qtcpsocket 如果用其他套接字的話還會用到 char陣列。當傳輸檔案時不可避免取得資料操作,儲存資料型別轉換,寫入資料操作。...
VC檔案傳輸
vc 檔案傳輸的實現 2008 07 20 20 33 要實現檔案傳輸最簡單的辦法是寫兩個執行緒,乙個伺服器段的傳送處理執行緒,乙個客戶端的接收處理執行緒。執行緒處理函式需要宣告為類的靜態成員,由於不可訪問類內部的資料成員,所以引數傳遞裡面最好有個類的指標 伺服器段的傳送處理執行緒 cfiletra...
簡單檔案傳輸
原理 檔案傳輸的原理其實很簡單,服務端先在某個埠監聽,等待客戶端的連線,連線成功後,服務端開啟指定的檔案,然後讀取檔案,再通過建立的套接字傳送給客戶端。如果要實現乙個服務端能與多個客戶端連線,則需要用到多執行緒,下面給出一對一的實現 有興趣的朋友可以用多執行緒實現一對多。程式 include inc...