使用agsXMPP SDK向Openfire发送文件的注意事项
2015-07-28 11:27
519 查看
使用agsXMPP向Openfire发送文件,一直被service-unavailable错误困扰,详细错误如片段1-1所示。使用agsXMPP自带的Demo MiniClient项目,可以正常发送文件,但在自己的项目中却发送失败。
片段1-1
具体步骤:
1、搭建Openfire服务器,确保5222、7777端口正常,在服务器设置中已启用“文件传送代理”。
2、Openfire配置如图1-1所示,设置正确的xmpp.domain,例如im.openfire.com,确保域名可ping通。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/03/0dcad6229bb8f6961352f558a026c359)
图1-1
3、修改文件frmFileTransfer.cs中的const string PROXY = "proxy.ag-software.de"为const string PROXY = "proxy.im.huiyaosoft.com",其中域名必须遵循proxy.样式。
4、发送文件时,必须指定jid.Resource,否则报503错误,如片段1-2所示。。
片段1-2
片段1-1
<iq xmlns="jabber:client" to="6@im.huiyaosoft.com/XmppDemo" id="agsXMPP_5" type="error"> <si xmlns="http://jabber.org/protocol/si" id="a3536b74-8a75-4ce2-9d84-59088b31bba3" profile="http://jabber.org/protocol/si/profile/file-transfer"> <file xmlns="http://jabber.org/protocol/si/profile/file-transfer" name="data.xlsx" size="9688"><range /></file> <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> </field> </x> </feature> </si> <error type="cancel" code="503"> <service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /> </error> </iq>
具体步骤:
1、搭建Openfire服务器,确保5222、7777端口正常,在服务器设置中已启用“文件传送代理”。
2、Openfire配置如图1-1所示,设置正确的xmpp.domain,例如im.openfire.com,确保域名可ping通。
图1-1
3、修改文件frmFileTransfer.cs中的const string PROXY = "proxy.ag-software.de"为const string PROXY = "proxy.im.huiyaosoft.com",其中域名必须遵循proxy.样式。
4、发送文件时,必须指定jid.Resource,否则报503错误,如片段1-2所示。。
片段1-2
Jid jid = new Jid(username + xmppDomain); jid.Resource = xmppCon.Resource; frmFileTransfer ft = new frmFileTransfer(xmppCon, jid);
相关文章推荐
- linux下搭建生成HLS所需的.ts和.m3u8文件
- Linux一键安装web环境全攻略(阿里云服务器)
- Linux下Nagios的安装与配置详解
- 从BSP模型到Apache Hama
- ERROR: operator does not exist: character = integer
- hadoop2.6完全分布式安装HBase1.1
- linux X11窗口转发配置简记
- POP介绍与使用实践(快速上手动画)
- 《Tomcat日志系统详解》
- Linux上jdk的安装(CentOS6.5)
- centos6.4 安装 svn
- RHEL/CentOS配置epel源
- 反向代理
- Windows下运行Tomcat闪退问题
- Mac服务器服务更新常用的几个shell命令
- hadoop2.6完全分布式安装zookeeper3.4.6
- centos有用的shell脚本(yum源,ssh,系统优化等)
- 新手,记录下用过的LINUX命令
- -bash: make: command not found
- hadoop edits 文件损坏修复办法