基于XMPP协议的即时聊天工具之发送文件
最初还是在学校时接触的XMPP, 当时是做的一个简单的基于XMPP协议的聊天工具,功能不是很全,只是实现了收、发消息、表情功能。
最近不是很忙,就补充了一些功能, 这里说一下文件的发送。
public void sendFile(File file){
// 这段代码有些人说必须带,我试了试,在我的工程中发文件是带不带没啥区别
// ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(connection);
// if (sdm == null)
// sdm = new ServiceDiscoveryManager(connection);
// sdm.addFeature("http://jabber.org/protocol/disco#info");
// sdm.addFeature("jabber:iq:privacy");
FileTransferManager ftManager = new FileTransferManager(connection);
FileTransferNegotiator.setServiceEnabled(connection, true);
String to = connection.getRoster().getPresence("aaa@ServerIp/spark").getFrom();//获得用户状态
// to = "xxx"+"@"+"xxx"+"/"+"xxx";//一定注意这里必须是完整JID jid = [ node "@" ] domain [ "/" resource ]
// 我是用的android客户端给spark客户端发送文件
OutgoingFileTransfer transfer = ftManager.createOutgoingFileTransfer(to);
try {
transfer.sendFile(file, file.getName());
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(!transfer.isDone()) {
if(transfer.getStatus().equals(FileTransfer.Status.in_progress)){
//可以调用transfer.getProgress();获得传输的进度
Log.i("wht", "传输进度 = "+transfer.getProgress());
}else if(transfer.getStatus().equals(FileTransfer.Status.error)) {
System.out.println("ERROR!!! " + transfer.getError());
} else if (transfer.getStatus().equals(FileTransfer.Status.cancelled)
|| transfer.getStatus().equals(FileTransfer.Status.refused)) {
System.out.println("Cancelled!!! " + transfer.getError());
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
基于XMPP协议的即时聊天工具之发送文件相关推荐
- java xmpp协议_GitHub - zhengzhi530/xmpp: 基于Xmpp协议的即时通讯社交软件(客户端+服务端)...
yyquan 开源一个自己去年写的基于Xmpp协议的即时通讯社交软件 (客户端+服务端) 本项目仅供参考,对于正在学习Xmpp以及javaweb后台的同学,可以看一下. 做这个项目纯属个人兴趣爱好,所 ...
- ios开发xmpp仿微信即时聊天工具
最近在做一个项目,需要一个即时聊天工具,先打算有第三方环信(http://www.easemob.com),但是最终老板不允许,要自己开发用自己的服务器,哎!如果有需要的可以去看看这个环信,真的不错. ...
- {网络编程}和{多线程}应用:基于TCP协议【实现多个客户端发送文件给一个服务器端】--练习
要求: 实现多个客户端发送文件给一个服务器端提示:多个人创建客户端发送文件,服务端循环接收socket,从socket中获取文件 说明:这里我们只要建立一个服务端就可以了,然后让多台电脑使用客户端给这 ...
- 【总结】开发基于XMPP协议的通讯工具
转载请注明出处:http://blog.csdn.net/chziroy/article/details/30047889 初学android,做了一个基于XMPP协议的即时通讯工具,实现了基本的文字 ...
- Android之基于XMPP协议即时通讯软件(一)
为什么80%的码农都做不了架构师?>>> 文章开头,先打一下广告咯,今年误打误撞,侥幸进入2013CSDN博客之星候选,目前排名已经有点不堪入目,所以,谨希望广大基友们动动手指 ...
- Android 模块 -- 基于XMPP协议的手机多方多端即时通讯方案
目 录 基于XMPP协议的手机多方多端即时通讯方案................................................................. 1 目 录 ...
- 基于XMPP协议的手机多方多端即时通讯方案
原文地址为: 基于XMPP协议的手机多方多端即时通讯方案 基于XMPP协议的手机多方多端即时通讯方案 目 录 基于XMPP协议的手机多方多端即时通讯方案...................... ...
- java xmpp即时通讯_基于XMPP协议即时通讯工具开发总结
一.概要 转眼毕业了,毕业设计的课题是"基于XMPP协议的通讯工具",开发平台式android,实现了基本的离线消息,文字聊天,表情聊天,文件传输,语音聊天的功能. 本文主要介绍开 ...
- 基于XMPP协议的Android即时通信系
2019独角兽企业重金招聘Python工程师标准>>> 以前做过一个基于XMPP协议的聊天社交软件,总结了一下.发出来. 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过 ...
- 基于Nodejs开发的web即时聊天工具
由于公司需要开发web即时聊天的功能,开始时我们主要的实施方法是用jquery的ajax定时(10秒)轮询向服务器请求,由于是轮询请求,对 服务器的压力比较大.我们网站上线的时间不长,访问量不是很大, ...
最新文章
- 结对编程 黄金点游戏
- 查看linux中某个端口(port)是否被占用***
- 智慧酒店雷达传感方案,人体存在感应技术应用,雷达探测模块
- Android 修改屏幕尺寸
- 硬件设计--阻抗匹配
- java毕业设计——基于java+Eclipse的扫雷游戏设计与实现(毕业论文+程序源码)——扫雷游戏
- html head标签详解
- 加一度分享:快手PK抖音,谁更有优势
- 数字控制增益的放大器的设计
- 智能照明系统雏形(esp8266nodemcu开发板+点灯科技软件+声控模块+光敏模块+人体感应模块)
- 任意文件下载(读取)
- Python制作二维码1
- AI 智能修复老照片,效果惊艳到我了!| 附代码
- 阿姆达尔定律 是什么 Amdahl 并行效率计算经验法则
- CentOS中ip addr命令不显示ip地址问题的解决方法
- proteus教程——cc4021串行输入
- oracle 存储过程执行成功后 报: ORA-01722: 无效数字,问题排查
- 计算机速录教程,亚伟中文速录机培训教程-第二讲课件
- 不得不说的SD2.0
- 【HOG原理与训练】HOG(方向梯度直方图)
热门文章
- 去哪里找自媒体视频剪辑中的素材?
- f2fs学习笔记 - 4. f2fs文件系统组件说明
- linux kernel directory
- android之StorageManager介绍
- 诺顿企业版安装找不到路径
- 在线端口检测 - 端口扫描 - 端口开放检查
- 记一次FileZillaServer提权
- 手游图片素材提取_游戏资源提取工具(ExtractData日本游戏看内涵图)V2.5.38.966官方版下载 - 下载吧...
- 同花顺python_Python预测股票价格
- 大智慧公式系统:条件选股之基本技巧