最进开始做一些android的项目,除了一个新闻客户端的搭建,还需要一个实现一个即时通讯的功能,参考了很多大神成型的实例,了解到operfire+asmack是搭建简易即时通讯比较方便,所以就写了这篇博客. 一.基础知识(这是复制别人的) XMPP协议简介 XMPP协议(Extensible Messaging and PresenceProtocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的,最早是在Jabber上实现的.它继承了在XML环境中灵活的…
(能用得上话的话求点赞=-=,我表达不好的话跟我说哦) 上一次我们拿到了服务器端的组数据和用户信息,这就可以为我们日后使用好友系统打下基础了! 但是光是拿到了这些东西我们怎么能够满足呢?我们一个即时通讯软件最重要的不就是要能够通讯么!所以我们下一步就要接受别人发来的数据. public static void findMan(){ System.out.println("--------find start----------"); Roster roster = connect.co…
本地化之章! 往期传送门: 1.http://www.cnblogs.com/lfk-dsk/p/4398943.html 2.http://www.cnblogs.com/lfk-dsk/p/4411625.html 3.http://www.cnblogs.com/lfk-dsk/p/4412126.html 4.http://www.cnblogs.com/lfk-dsk/p/4413693.html 5.http://www.cnblogs.com/lfk-dsk/p/4419418.h…
之前的教程不知道你们成功了没,,,没成功可以问我啊=-= 第四篇博文是要实现发送消息的功能. 首先在我们登陆后的活动的layout里添加这样的两个控件,一个EditText和一个Button用于发送数据 <EditText android:id="@+id/edit_text_out" android:layout_width="0dp" android:layout_height="wrap_content" android:layout…
啊啊啊啊啊啊啊啊,这东西越做越觉得是个深坑啊! 1.SharedPreferences.Editor的密码保存和自动登录: 首先还是从主界面开始,因为要提升一下用户体验自然要加入保存密码和自动登录的功能. <CheckBox android:text="保存密码" android:layout_weight="1" android:id="@+id/save_password" android:layout_width="wrap…
这一篇博客其实是要昨天写的,但昨天做了作修改就停不下来了,这次的修改应该是前期开发的最终回了,其余的功能有空再做了,下周可能要做一些好玩的东西,敬请期待! 1.修改下Logo:(Just We) http://romannurik.github.io/AndroidAssetStudio/   可以用这个网站来做哦,上传个图片就可以哦! 2.添加欢迎页: 我自己画了个Just We的欢迎页 这里是添加欢迎页活动的代码,把程序的启动活动换为Open活动: public class Open ext…
上期没有放成果图呢!忘了=-=,这就是上次的成果图,textview里面会显示登陆的名字(这个是默认管理员帐号=-=) 好吧,登陆了服务器我们就有了交互的功能啦可以说是前进了一大步呢!下面能我们就要试试从服务器拿一些数据打印出来(服务器定义的群组) 那就开始吧. 首先我另外注册了三个用户来进行测试 还创建了一个组(原谅我起名的无聊) 对了,还要指定共享名字,并把用户加入组成员中! 接着在工具类里面写一个findman()函数用来查找组和打印组: public static void findMa…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com Openfire XMPP Smack RTC IM 即时通讯 聊天 MD 目录 目录简介Openfire 简介相关的几个名词SmackSparkJIDXMPPOpenfire 安装配置Stanza 节共同属性Presence 在线状态Message 传递消息IQ 请求响应测试代码conn…
由于时间原因,所以更新比较慢 ,还请大家谅解,此次是对上篇文章中的安卓客户端初级版本进行的一次更新优化,在这次更新后,就有那么一点样子了,可以拿的出手了,呵呵,还在关注的同学也可以及时下载更新.此次主要更新的内容如下: 1,聊天界面,新消息到来时,聊天界面同步刷新: 2,聊天界面,支持长按聊天记录时删除或复制聊天记录,及清空与该用户的全部聊天记录: 3,消息界面,支持长按某一会话,删除与该用户的会话记录: 4,支持消息未读数量显示(底部导航栏为总未读数,会话记录处为与该用户的聊天的未读消息数):…
(2016年3月更:由于后来了解到GGTalk开源即时通讯系统,因此直接采用了该资源用于项目开发,在此对作者表示由衷的感谢!) —————————————————————————————————— 人在外包公司,身不由己!各种杂七杂八的项目都要做,又没有自己的技术沉淀,每次涉足新的项目都倍感吃力,常常现学现卖,却不免处处碰壁!当然,话说回来,也是自己的水平有限在先,一马配一鞍,无奈也只能留在外包公司. 这不,就在上一周,领导下达一个任务:3天内搭建一个C#即时通讯系统,与原有的办公系统集成. 我…
近公司项目需要用到即时通讯功能,经过调研发现openfire+spark+smack可以实现.在网上找了很久,资料都十分有限,即使有些朋友实现了也说的不清不楚.于是决定自己研究,耗时一周的时间实现了文字通讯和文件传输的功能.现发帖分享给有需要的朋友,也希望大家能够把自己的资料都分享出来,不要敝扫自珍. 废话说够了,现在开始上干货: 1.openfire是什么?openfire是一个即时通讯服务器,也称之为即时通讯平台.它是基于XMPP协议的,大家所熟悉的通讯软件QQ.MSN和Gtalk等等,其中…
首发:个人博客 必须说明:smack最新的4.1.1,相对之前版本变化很大,而且资料缺乏,官方文档也不好,所以还是用老版本3.2.2吧.这篇博文中的代码是4.1.1版的,但不推荐用它.用openfire做服务器,用spark做帮助调试的客户端,用smack(官方文档在这里,感觉写得非常不好)做java的库,来完成即时通讯功能. 1.安装openfire在官网下载安装即可. 2.安装spark在官网下载安装即可. 3.maven引入smack <dependency>              …
smack jar下载地址 http://www.igniterealtime.org/downloads/download-landing.jsp?file=smack/smack_3_2_2.zip 由于项目需要,开始搞即时通讯相关技术,最后敲定openfire+smack实现,保留部分测试代码,留作参考: import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import ja…
重新整理下这篇文章. 这篇文章的主要任务是使用AndroidStudio,通过Openfire,利用XMPP协议完成一个可以即时通讯.拥有好友系统的聊天软件. 一.服务器配置与相关库 理论不多说,只谈怎么操作.下面先说三个工具. 1.mysql服务器(版本5.7.25) 首先电脑要安装好mysql,这里建议不要安装最新版,因为本人之前就是安装的8.0最新版,然后跟Openfire服务器进行对接的时候出现了非常多问题,解决后,用JDBC连接mysql时也出了许多问题,还是无法解决的.但是换成5.7…
在讲XMPP和asmck之前 ,我还是先分享一些资源文档,如果你有耐心,可以直接忽略我下面所写的.下面有关XMPP的介绍大部分是摘抄网上的文档,后面我会写一些基于XMPP协议和asmck开源库的聊天室开发,功能包括,文本,语音,和当前地理位置地址. XMPP官网:http://xmpp.org Smack开发官方指导文档:http://www.igniterealtime.org/builds/smack/dailybuilds/documentation/extensions/index.ht…
基于uniapp + vue 实现仿微信App聊天应用实践,实现以下功能 1: 用户登陆 2: 聊天会话管理 3: 文本/图片/视频/定位消息收发 4: 贴图表情消息收发 5: 一对一语音视频在线通话 项目开发环境 IDE:HbuilderX 3.0+ 开发框架:uniapp + vue2.x + sass 运行平台:Android.IOS 环境要求:window7+,macOS 10.12.6+, node 10.14.5+ 效果演示 教程目录 1. 从0开始配置工程项目 1.1 获取Demo…
现在的外包项目需求变态的各种各样,今天要做社交,明天要加电商,后天又要加直播了,这些系统如果要自己开发,除非大公司技术和人力都够,不然短时间是几乎实现不了的.所以学会灵活利用市面上的各种SDK是灰常重要的技能. 最近继续在做的项目是一个气象救灾类APP,里面需要进行聊天的即时通讯模块.目前已经实现,效果如下: 一.市面上的即时通讯SDK 目前市面上的即时通讯SDK大概有:融云.网易云信.容联云等.非常多. 较为稳定.功能较全的应该是网易云信了,界面如下: 但是我们的应用需要的即时通讯是一个模块,…
前言 大家新年快乐! 新的一年第一篇技术文章希望开个好头,所以元旦三天我也没怎么闲着,希望给大家带来一篇比较感兴趣的干货内容. 老读者应该还记得我在去年国庆节前分享过一篇<设计一个百万级的消息推送系统>:虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可以运行的源码:这么久了是时候把坑填上了. 目录结构: 本文较长,高能预警:带好瓜子板凳. 于是在之前的基础上我完善了一些内容,先来看看这个项目的介绍吧: CIM(CROSS-IM) 一款面向开发者的 IM(即时通讯)系统:同时提供了一…
闲暇之余,自己写了个简单的即时通讯,基于OpenFire服务器平台. 整个项目包括两个部分,一个是服务器端,一个是android手机端: 一.关于服务器端没什么好说的,下载安装配置即可 推荐下载带jar的程序安装,配置好java_jdk的可以使用压缩包解压安装 OpenFire下载地址:http://www.igniterealtime.org/downloads/index.jsp 顺便下载一个Spark,电脑端通讯,用于和你的安卓手机互发信息. 运行openFire截图…
#-*- coding: utf-8 -*- __author__ = 'tsbc' import xmpp import time #注意帐号信息,必须加@域名格式 from_user = 'chenjiangpeng@xtpt.e-u.cn' password = 'a1b2c3d4' #可以添加多个接收人 to_user = ['chenjiangpeng@xtpt.e-u.cn'] msg = "您好!这是条测试信息!" def to_msg(): ""&q…
一.开发背景 1.国际背景 随着Internet技术的高速发展,即时通信已经成为一种广泛使用的通信方式.1996年Mirabilis公司推出了世界上第一个即时通信系统ICQ,不到10年间,即时通信(Instant Messaging,简称IM)以发展成为了最流行的网络应用之一.特别是近几年的迅速发展,即时通信的功能日益丰富,它不再是个单纯的聊天工具,它已经发展成集交流.资讯.娱乐.音乐.电视.游戏.电子商务等为一体的综合化信息平台. 2.国内背景 目前国内外及时通信软件IM(Instant Me…
Socket: 1>Socket又称"套接字" 2>网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 3>应用程序通常通过"套接字"向网络发出请求或者应答网络请求   网络通信的要素: 1>网络上的请求就是通过Socket来建立连接然后互相通信 2>IP地址(网络上主机设备的唯一标识) 3>端口号(定位程序) 4>用于标示进程的逻辑地址,不同进程的标示 5>有效端口:0~655…
这些你造吗? 即时通讯(IM),在IOS这片江湖里面已经算是一个老者了,我这小旋风也是在很早以前巡山的时候,就知道有即时通讯这个妖怪,以前也多多少少接触过一些,在造APP的时候用过,哎呀,说着说着就感觉要跑题了,脑海中怎么波涛翻滚的样子.不好,才开头了两句,~~(>_<)~~忍住!!说回正题,我知道的即时通讯有用 CocoaAsyncSocket 还有 XMPPFramework 实现的,当然也有现在也有大部分接入环信的.有些东西掩盖不住的,可能可能许多同行和我一样,感觉你知道的越来越多,就越…
1.即时通讯技术 即时通讯(IM:Instant Messaging):又称实时通讯,支持用户在线实时交谈,允许两人或多人使用网络实时的传递文字消息.文件.语音与视频交流. 即时通讯在开发中使用的场景有许多,如 AOL.Yahoo IM.MSN.QQ 以及微信等聊天软件,在电商 APP 集成买家与卖家的实时沟通等.它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议,协议是用来说明信息在网络上如何传输. 如果有了统一的传输协议,那么应当可以实现各个 IM 之间的直接通讯,…
什么是XMPP 介绍XMPP之前,先来看看GTalk. GTalk是Google推出的IM(Instant Messaging,即时通讯)软件,类似于QQ和MSN. 从技术角度来说,GTalk与QQ和MSN的差异是使用了不同的通讯协议,QQ使用了自己的私有协议(未公开),MSN也使用了自己的私有协议.而GTalk使用了XMPP(Extensible Messageing and Presence Protocol,可扩展消息与存在协议),这种通讯协议是一种公开的协议,有很多IM都使用了XMPP.…
Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence ok,额瑞巴蒂,说好的阅读RFC6121開始了.希望在阅读此文之前.已经跟你的leader在时间上沟通好了.那么这篇文章在介绍RFC6121的同一时候.我会穿插一些自己当时总结到得阅读技巧分享给大家(不喜轻喷). 在阅读每一个协议之前,每一个协议,请静下心来阅读一下这最重要的Abstract.是的,要保证你理解它的内容中每一个词语的意…
原文链接:http://www.jianshu.com/p/2dbb360886a8 本文会用实例的方式,将 iOS 各种 IM 的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. —— 由宇朋Look分享 前言 本文会用实例的方式,将iOS各种IM的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. 注:文中的所有的代码示例,在github中都有demo:iOS即时通讯,从入门到“放弃”?(demo)可以打开项目先预览效果,对照着进行阅读. 言归正传,首先我们来总…
Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用.    XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测.它在促进服务器之间的准即时操作.这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同.XMPP的技术来自于Jabber,其实它是 Jabber的核心协定,所以XMPP有时被误称为Jabber协议…
xmpp是一个通信协议.因为这是个开放的协议,为了节俭开发成本,很多即时应用都采用了这个协议.Android上最常用的组合asmack +openfire.Asmack是smack的android版,是对xmpp协议进行了封装,并提供了丰富的api,简化了操作.Openfire是一个开源的IM服务器,基于Xmpp实现.换句话说使用xmpp开发即时通讯应用的话,服务器端已经开发好了,就是openfire. 现在我做的一个android应用就是采用asmack+openfire.说实在的,xmpp协…
首先了解一下即时通信的概念.通过消息通道 传输消息对象,一个账号发往另外一账号,只要账号在线,可以即时获取到消息,这就是最简单的即使通讯.消息通道可由TCP/IP UDP实现.通俗讲就是把一个人要发送给另外一个人的消息对象(文字,音视频,文件)通过消息通道(C/S实时通信)进行传输的服务.即时通讯应该包括四种形式,在线直传.在线代理.离线代理.离线扩展.在线直传指不经过服务器,直接实现点对点传输.在线代理指消息经过服务器,在服务器实现中转,最后到达目标账号.离线代理指消息经过服务器中转到达目标账…