Gloox文件传输小记

使用版本:1.1.10

今天弄了一下Gloox中自带的收发文件例子,收发文件的例子都是好使的,只不过,在调试过程中需要注意一些问题,下面将我遇到的问题做个记录(例子中以In-Band Bytestreams方式收发)

1、发送文件过程中遇到404错误
< iq  type ='error'  id ='uid-8509a748-00000005'  to ='wanghaiguang@wanghaiguang-wk/glooxsendfile'from='www@192.168.60.67/Spark  2.6.3' >< sixmlns ='http://jabber.org/protocol/si'  id ='uid-8509a748-00000006'  profile ='http://jabber.org/protocol/si/profile/file-transfer'><file  xmlns ='http://jabber.org/protocol/si/profile/file-transfer'  name ='d:\offline.bmp'  size ='6998'/><feature  xmlns ='http://jabber.org/protocol/feature-neg'><x  xmlns ='jabber:x:data'  type ='form'><field  type ='list-single'var='stream-method'><option  label ='ibb'><value>http://jabber.org/protocol/ibb</value></option><option  label ='oob'><value>jabber:iq:oob</value></option><option  label ='s5b'><value>http://jabber.org/protocol/bytestreams</value></option><value/></field></x></feature></si><error  code ='404'  type ='cancel'><remote-server-not-found  xmlns ='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>

可以将ip地址换成服务器名称试试
JID  j( "www@192.168.60.67/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'><si  xmlns ='http://jabber.org/protocol/si'  id ='uid-8663a748-00000006'  profile ='http://jabber.org/protocol/si/profile/file-transfer'><file  xmlns ='http://jabber.org/protocol/si/profile/file-transfer'  name ='d:\offline.bmp'  size ='6998'/><feature  xmlns ='http://jabber.org/protocol/feature-neg'><x  xmlns ='jabber:x:data'  type ='form'><field  type ='list-single'  var ='stream-method'><option  label ='ibb'><value>http://jabber.org/protocol/ibb</value></option><option  label ='oob'><value>jabber:iq:oob</value></option><option  label ='s5b'><value>http://jabber.org/protocol/bytestreams</value></option><value/></field></x></feature></si><error  code ='503'  type ='cancel'><service-unavailable  xmlns ='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>

这个问题可能是由于你接收端的资源名称与发送端 不匹配
// 接收端登录的jid
JID  jid( "www@192.168.60.67/glooxsendfile" );
 j =  new  Client( jid, "111" );

// 发送端的jid名称(发送给对方的jid名称)
JID  j( "www@wanghaiguang-wk/gloox" );
if ( j.resource().empty() )
{
     printf( "error: need full jid\n" );
      return  1;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值