XMPP 两个客户端实现文件传输

Android平台的XMPP即时通讯应用开发 XMPP(Extensible Messaging and Presence Protocol,可扩展消息和出席协议)是一种开放标准的即时通讯协议。它起源于Jabber项目,由IETF定义,采用XML格式进行信息传输。XMPP的特点是支持分布式网络架构,允许服务器之间的互操作性,并支持各种扩展来增强功能。XMPP协议的可扩展性是其一大优势,它允许开发者通过定义新的命名空间(namespace)来扩展XMPP协议的功能。在Android平台上实现自定义扩展协议,需要对Smack库的API有深入了解。 阅读详情

文件传输:包括音频,图片,doc文件等的传输

方式1

在message里面放文件,但是message里面只可以放字符串。

解决办法1:

把文件都转成base编码后再字符串,然后把字符串放进body。这个方法不好。只可以针对小数据,一般一两兆以上的就不要用这个方法。


解决办法2:

先把图片,音频,图片,doc文件等的上到服务器。返回URL,body里面放对应文件的URL路径就可以了。

注意点1:在message里面添加对应文件的标签。例如 bodyType = “image” ,bodyType = “voice ”

messageStr = "<message type=\"chat\" to=\"aaa001@simon.local\"><body>\U963f\U8fbe</body></message>";

#pragma mark MessageTextViewDelegate  XMPP发送数据
-(void)sendMessageText:(NSString *)text withBoty:(NSString *)botyDaty{

#warning XMPP发送数据
    //chat 是单聊
    XMPPMessage *msg = [XMPPMessage messageWithType:@"chat" to:self.friendJID];
    
    //添加属性
    [msg addAttributeWithName:@"bodyType" stringValue:botyDaty];
    //设置内容
    [msg addBody:text];
    [[XMPPSingleton sharedInstance].xmppStream sendElement:msg];
    
}


这样子操作就可以了。


 

agsXMPP.dll c# im 及时通信 这个是agsXMPP打包生成的最新dll,经测试完全可以使用。 立即下载

相关推荐

C2000 ePWM与SDFM同步配置:从寄存器到Driverlib实战解析

在嵌入式实时控制系统中,脉宽调制(PWM)是实现电机驱动、数字电源等应用的核心技术,其信号质量和时序精度直接决定了系统性能。为实现精确控制,PWM信号常需与模数转换器(ADC)或Sigma-Delta滤波器(SDFM)的采样时刻严格同步,以消除开关噪声并获取准确的反馈信号。其技术原理在于通过硬件同步机制,将PWM的特定时间点(如周期中心)作为触发源,控制数据采集的启动时刻。这种硬件级同步能有效提升闭环控制的稳定性和动态响应速度,广泛应用于伺服驱动、变频器等高性能场景。本文聚焦于TI C2000系列微控制器,

weixin_33692284的博客 443

推荐一款强大的命令行XMPP客户端——Profanity

推荐一款强大的命令行XMPP客户端——Profanity 去发现同类优质开源项目:https://gitcode.com/ 在当今的数字化时代,隐私和自由通信的重要性不言而喻。为此,我们向您推荐一个专为隐私和安全设计的开源项目——Profanity,它是一个灵感源自著名IRC客户端Irssi的命令行XMPP客户端。 项目介绍 Profanity的目标是提供一个安全且去中心化的聊天平台,让用户能够自...

gitblog_00006的博客 499

从光耦隔离到稳定驱动:信捷伺服与STM32的硬件设计陷阱与救赎

本文深入探讨了信捷伺服驱动器与STM32微控制器配合时的硬件设计关键问题,包括光耦隔离电路选型、电源电压选择、拨码开关设置等核心环节。针对伺服驱动器的稳定驱动需求,提供了从电路设计到抗干扰策略的完整解决方案,帮助工程师规避常见陷阱,提升工业控制系统的可靠性。

gold8的专栏 312

XMPP 协议工作流程详解

XMPP 协议工作流程详解 yuhttp://ceit.uq.edu.au/content/how-xmpp-works-step-step 作者: Yilun Fan, 日期 2011-01-05 13:09 XMPP 核心协议 http://xmpp.org/rfcs/rfc3920.html XMPP 要点. 1. 客户端(C) 和服务器端(S) 通过T

糯米糊糊的专栏 1万+

Android AI Agent集成实战:架构设计与自动化技能开发

AI Agent(人工智能代理)是一种能够感知环境、自主规划并执行任务以达成目标的软件实体。其核心原理在于结合大语言模型的推理能力与工具调用(Tool Calling)技术,使应用从被动响应转向主动服务。在移动开发领域,这项技术的价值在于为应用注入“智能大脑”,实现跨应用自动化与个性化交互,从而显著提升用户体验和操作效率。具体到Android平台,其应用场景广泛,例如自动填写表单、智能聊天辅助、个性化工作流优化等。本文聚焦于Android AI Agent的工程化落地,深入探讨了如何利用Accessibil

weixin_42636895的博客 661

西门子S7-200 SMART PLC控制伺服电机

以下是使用西门子S7-200 SMART PLC控制伺服电机的详细程序框架和配置说明,涵盖硬件接线、PLC配置和基本运动控制逻辑。具体实现需根据伺服电机型号(如松下、三菱、台达等)调整参数。通过以上步骤,可实现伺服电机的基础位置控制。实际应用需根据设备机械参数和伺服驱动器手册调整细节。建议在调试时逐步测试脉冲输出和方向信号是否正常。

CHUXUEZHE8210的博客 6425

XMPP-Client 开源项目教程

XMPP-Client 开源项目教程 1. 项目的目录结构及介绍 XMPP-Client 项目的目录结构相对简洁,主要包含以下几个部分: cmd/: 包含主要的可执行文件的源代码。 doc/: 包含项目的文档文件,如README等。 examples/: 包含一些示例代码,帮助用户理解如何使用该项目。 vendor/: 包含项目依赖的第三方库。 具体目录结构如下: xmpp-client/ ├...

gitblog_01131的博客 470

Vmware安装windowsServer2022版本

全网最详细的Vmware安装windowsServer2022版本

A乐神的博客 7007

基于jabber/xmpp即时通讯服务器OpenFire的客户端Spark的中文汉化

基于jabber/xmpp即时通讯服务器OpenFire的客户端Spark的中文汉化摘要:Spark是一个开源,跨平台IM客户端。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用OpenFire+Spark是最佳的组合。但,官方上却没有简体中文的汉化包,给广大的聊友带来了不便,作者制作了其的汉化包,并简单介绍了使用的方法。1. 基本信息 官方支持:http://www.i

squirrelme的专栏 8894

离心泵级间导叶的设计计算

离心泵级间导叶的设计计算高速离心泵级间流道的作用是将第一级复合叶轮流出的高速液流收集起来并送入第二级复合叶轮。级间流道的设计应考虑降低液体的流速,实现动能向压力能转化,减小液体的水力损失。级间流道主要有蜗壳形流道和导叶两种结构形...

cqzc55322的博客 2566

联邦学习模型投毒研究进展

在联邦学习中,多个设备(如移动设备、IoT设备等)本地训练模型,然后将更新的模型参数上传到服务器进行聚合。

2401_82375734的博客 1266

推荐开源项目:Monal for XMPP - 跨平台的现代XMPP客户端

推荐开源项目:Monal for XMPP - 跨平台的现代XMPP客户端 项目介绍 Monal for XMPP 是一款专为iOS和macOS设计的跨平台、现代化的XMPP(Extensible Messaging and Presence Protocol)通讯客户端。这款开源应用旨在提供安全、可靠的即时通讯解决方案,让用户可以在最新的操作系统版本上享受无缝的信息交换体验。 项目技术分析 Mo...

gitblog_00001的博客 542

【同等学力】2005-数学⭐✨

有r个正方形排成一行,今用红、黄、白、蓝四种颜色给这个r个正方形染色,每个正方形只能染一种颜色,如果要求染红、黄、白色的正方形分别至少出现一个,问有多少种不同的染法?3、(4分)设G是一个有n个结点m条边的连通简单平面图,若n≥3,则m≤3n-6.4、(4分)证明:任何连通简单平面图至少有一个结点的度数不超过5

super_mochi1 306

基于xmpp的扩展协议libjingle

转自http://mysuperbaby.iteye.com/blog/904566 Project and Source Code Location http://code.google.com/p/libjingle/ Developer Guideline Location http://code.google.com/apis/talk/libjingle/ 为什么研究这个呢

lifesounds的专栏 1386

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

基于C语言的IBB文件传输协议实现。

在写这篇文章前,博

juy19901128的专栏 1186

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

制作自己的xmpp/gtalk客户端

分类: XMPP2012-07-15 00:04 1984人阅读 评论(0) 收藏 举报 wincexmpp服务器语言socketserver 目录(?)[+] 本文作者的这个研究过程跟我的好像,我也在xmpp和libjingle之间辗转研究,用了xmppframework,libjingle,gloox,其中libjingle我是以前都研究过,所有基于它

kerson的专栏 6566

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java实现XMPP发送接收消息和文件功能

package test; import java.io.File;import org.jivesoftware.smack.Chat;import org.jivesoftware.smack.ConnectionConfiguration;import org.jivesoftware.smack.MessageListener;import org.jivesoftware.s

twangjie的专栏 8557

java xmpp openfire_xmpp openfire 接收文件/发送消息(仅含客户端代码)

【实例简介】【实例截图】【核心代码】package com.xmpp.client;import java.io.File;import java.util.ArrayList;import java.util.List;import java.util.Timer;import java.util.TimerTask;import org.jivesoftware.smack.Chat;impo...

weixin_39592026的博客 258

Delphi XMPP 通信客户端开发

基于 google 上的 有个 例子,整理编译;实现IQ消息发送,去除了控件等等一系列的引用,现在已经实现了不需要安装控件即可编译通过; Delphi XMPP客户端 的例子 太少了;google上的 例子引用了大量的控件,编译起来很难,我试过了很多次;终于把相关的引用基本脱离;客户端 引用 XMPP 中的部分 重要过程和函数,即可和服务器端进行IQ消息发送;状态获知,登陆,注销,传送文件等等。

okgxs的专栏 2602

基于 XMPP协议的服务器端 文件互传的简单实现

          学习一下基于XMPP协议的文件传输,首先假设用户已经登录,这里假设Clinet Send对Clinet Receive 发送文件,这里记录了Clinet Send的发送和接收XML流记录1、发送请求表示要向Clinet test发送文件,并发送文件大小和文件名SEND: iq xmlns="jabber:client" id="agsXMPP_6" to="Receive 

bisword的专栏 3437

探索 UWPX-Client:一款功能强大的 XMPP 客户端应用

探索 UWPX-Client:一款功能强大的 XMPP 客户端应用 随着科技的不断发展,即时通讯软件已经成为了我们生活中不可或缺的一部分。然而,在众多的即时通讯软件中,我们是否需要一个既安全又开放的 XMPP 客户端应用呢?答案无疑是肯定的。今天,就让我们一起来探索一下这款名为 UWPX-Client 的开源项目。 项目介绍 UWPX-Client 是一款基于 UWP(Universal Wind...

gitblog_00220的博客 407

xmpp学习基础

基本的jabber客户端必须实现以下标准协议(XEP-0211) 1、RFC3920 Core http://tools.ietf.org/html/rfc3920 2、RFC3921 Instant Messaging and Presence http://tools.ietf.org/html/rfc3921 3、XEP-030 Service Discovery http://www

1078

XMPP SI FileTransfer服务传输文件过程详解

所使用的客户端:jitsi , 服务端openfire 涉及协议:socks 5  XEP-0096: SI File Transfer  XEP-0065: SOCKS5 Bytestreams 1.场景: 账号IM4向账号IM3发送一个文件 2.IM4通过disco询问IM3的能力 3.IM3回答

jdcdrdim的专栏 3520

XMPP 的RFC及XEP

XMPP代表eXstensible Messaging and Presence Protocol."可扩展"部分很重要.XMPP基于XML,这是一种支持称为命名空间概念的数据格式.).通常,每个XEP都描述一个特定的活动(从消息格式化到文件传输,多用户聊天等等),它们为每个人提供了用于该活动的标准格式.通过命名空间,您可以向XMPP添加未在原始规范中定义的位.这很重要,因为XMPP规范只是故意描述一组核心内容。十、用户保活 (peakflys增加)二、jabber-RPC。......

dualvencsdn的博客 521

3 步导出 QQ 空间说说存档|GetQzonehistory 五分钟实操指南

想找回 2012 年那条「暑假最后一天」的说说吗?[GetQzonehistory](https://link.gitcode.com/i/98169f1418624b1404774ad6a82c3788) 是一个 **QQ 空间说说导出** 工具,能把你账号下的说说、转发、留言 **批量导出** 成 Excel、网页和图片。全程本地运行、扫码登录,不碰你的密码。 ## 这是个什么工具:本地 Q

gitblog_01002的博客 515
上一篇: iPhone系统版本号-iPhone App版本号
下一篇: 深拷贝,浅拷贝与copy,strong
kintan哥
博客等级 码龄12年 11粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值