全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

基于Socket.IO实现Android聊天功能代码示例

一、简述

Socket.IO是一个完全由JavaScript实现、基于Node.js、支持WebSocket的协议用于实时通信、跨平台的开源框架,它包括了客户端的JavaScript和服务器端的Node.js。

该种官方介绍看起来有点懵逼,简而言之就是:客户端可通过Socket.IO与服务器建立实时通信管道

二、应用

该下就是介绍Socket.IO通信管道的铺设、通信以及销毁工作。

2.1 引入Socket.io包

compile 'io.socket:socket.io-client:0.8.3'

2.2 实例化Socket对象

服务器地址(该地址为Socket.IO官方测试地址,实际项目中请更换):

String CHAT_SERVER_URL = https://socketio-chat.now.sh/

根据服务器地址,实例化Socket对象:

Socket mSocket = IO.socket(CHAT_SERVER_URL, options);

其中options是可供用户选择的一些配置参数,部分配置如下:

public static class Options extends io.socket.engineio.client.Socket.Options {
 // 是否自动重连
 public boolean reconnection = true;
 // 重连尝试次数
 public int reconnectionAttempts;
 // 重连间隔
 public long reconnectionDelay;
 // 最大连接等待时间
 public long reconnectionDelayMax;
 // 连接超时时间 (ms),设置为-1表示不超时
 public long timeout = 20000;
}

2.3 注册监听

在这里我们就需要注册一些监听事件,用来监听Socket通信过程中产生的一些行为,比如以下是注册Socket连接成功后的监听回调:

Emitter.Listener connectListener;
connectListener = new Emitter.Listener() {
   @Override
   public void call(Object... args) {

   }
  };
socket.on(Socket.EVENT_CONNECT, connectListener);

2.4 通过Socket对象建立连接

至此,我们的管道铺设工作就已经完成了,接下来我们只需要打开管道的开关,那么客户端与服务器之间就可以互通互信:

mSocket.connect();

那我们要如何知道两者之间是否已经连接成功了呢?没错,在2.3 我们注册过监听,一旦Socket连接成功,就会触发该回调,此时我们就可以根据项目的实际需求来做相应的处理了。

2.5 简单使用

此时,如果我们要向服务器发送消息,要怎么实现呢?Socket.IO提供了如下操作:

mSocket.emit("new message", content);

还可以这样:

mSocket.emit("new message", content, new Ack() {
  @Override
  public void call(Object... args) {
   
  }
 });

2.6 管道的销毁

当我们不想再使用管道的时候,就需要把管道给销毁,很简单,我们只需要断开连接以及注销监听即可:

mSocket.disconnect();
mSocket.off(Socket.EVENT_CONNECT, connectListener);

好啦,Socket.IO整个通信过程就完成啦,于我们而言,是不是简单易用。

三、完整源码奉上

不知该部分是不是众望所归(哈哈~),该份源码是基于Socket.IO官方的服务器地址结合实际项目融合而成,扩展性极强,特分享出来,供各位参考。

基于Socket.IO实现Android聊天功能

最后,感谢你的到来,恭喜你,坚持到了最后,该文和源码若有不当之处,请予以斧正。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# android实现聊天功能  # Android  # Socket.IO实现  # Android Socket实现多个客户端聊天布局  # android使用Socket通信实现多人聊天应用  # Android Socket通信实现简单聊天室  # Android使用Websocket实现聊天室  # android Socket实现简单聊天小程序  # android socket聊天室功能实现  # android Socket实现简单聊天功能以及文件传输  # Android 基于Socket的聊天室实例  # Android基于socket实现的简单C/S聊天通信功能  # Android Socket实现多个客户端即时通信聊天  # 客户端  # 只需要  # 回调  # 就可以  # 是一个  # 就会  # 在这里  # 还可以  # 众望所归  # 之处  # 而成  # 很简单  # 可供  # 当我们  # 若有  # 来做  # 可通过  # 设置为  # 易用  # 要向 


相关文章: 音响网站制作视频教程,隆霸音响官方网站?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  Bpmn 2.0的XML文件怎么画流程图  建站主机与服务器功能差异如何区分?  如何通过虚拟主机快速完成网站搭建?  教学网站制作软件,学习*后期制作的网站有哪些?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  如何快速启动建站代理加盟业务?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何用虚拟主机快速搭建网站?详细步骤解析  潮流网站制作头像软件下载,适合母子的网名有哪些?  ,怎么用自己头像做动态表情包?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  宁波自助建站系统如何快速打造专业企业网站?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  南平网站制作公司,2025年南平市事业单位报名时间?  高防服务器租用指南:配置选择与快速部署攻略  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  建站主机与虚拟主机有何区别?如何选择最优方案?  如何通过远程VPS快速搭建个人网站?  成都网站制作报价公司,成都工业用气开户费用?  建站之星后台密码如何安全设置与找回?  如何在IIS7中新建站点?详细步骤解析  如何通过虚拟主机空间快速建站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何在IIS管理器中快速创建并配置网站?  网页设计与网站制作内容,怎样注册网站?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  详解jQuery停止动画——stop()方法的使用  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  红河网站制作公司,红河事业单位身份证如何上传?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  建站之星收费标准详解:套餐费用及年费价格表一览  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  html制作网站的步骤有哪些,iapp如何添加网页?  ,石家庄四十八中学官网?  建站主机选虚拟主机还是云服务器更好?  如何在云指建站中生成FTP站点?  高防服务器:AI智能防御DDoS攻击与数据安全保障  建站之星如何保障用户数据免受黑客入侵?  开源网站制作软件,开源网站什么意思?  Java解压缩zip - 解压缩多个文件或文件夹实例  如何获取上海专业网站定制建站电话?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  如何用VPS主机快速搭建个人网站?  实例解析Array和String方法  临沂网站制作企业,临沂第三中学官方网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。