基于WebSocket实现的Android和H5聊天通讯实例【附效果图附所有源码】

转载请注明出处,原文地址:http://blog.csdn.net/lucherr/article/details/75673810

 

        最近项目需要使用WebSocket实现即时通讯,于是提前进行了技术调研,并且编写了一个聊天的Demo来体验,当然Demo是站在巨人们的肩膀上完成的,感谢前人们的辛苦付出和开源精神。

       关于WebSocket的介绍,网上有很多讲的不错的资料,在此将不做深入探讨,本文重点放在对本实例的介绍。引用网上资料中的一句话简单介绍下:Websocket是html5提出的一个协议规范,支持持久连接。

 

简单介绍下作者的开发环境以及源码结构:

System         :  Ubuntu14.04

Eclipse           :   V4.4.2

Eclipse EE     :   V4.5.0

Tomcat           :  V7.0.64

Android端使用了Java-WebSocket-1.3.1.jar以及eventbus-3.0.0.jar,后台源码是在csdn上下载的一个demo进行二次开发,附上资源链接表示对作者的感谢:

http://download.csdn.net/detail/xuxile/9395620

 

【接下来看下效果图】

从左到右依次为:Chrome,Genymotion,HuaWei P9

基于WebSocket实现的Android和H5聊天通讯实例【附效果图附所有源码】

 

如果只关注Android的使用,也可以使用WebSocket在线测试工具提供的地址进行测试,作者之前使用过该工具进行测试:http://www.blue-zero.com/WebSocket/ ,使用方法将在后面介绍。

基于WebSocket实现的Android和H5聊天通讯实例【附效果图附所有源码】

 

【注意事项】

1.后台源码很简单,使用Tomcat提供的websocket实现的,一看就明白,直接导入后运行即可,由于目前采用用户名作为保存连接的key,所以用户名最好不要使用中文,而且不要重复。

 

2.Android端在Java-WebSocket-1.3.1.jar的基础上对WebSocketClient进行了简单的封装,使用EventBus传递各种事件,由于是做websocket的技术演示,界面神马的一切从简,各位别介意。

源码导入后,需要根据服务端的实际地址进行修改,服务端可以导入Demo中的项目,也可以使用上面说的WebSocket在线测试地址。

 

 
  1. /**

  2. * 静态变量定义

  3. * @author lucher

  4. *

  5. */

  6. public class Constant {

  7.  
  8. /**

  9. * websocket服务器地址

  10. */

  11. public static final String WEBSOCKET_URL = "ws://192.168.0.102:8080/websocket-demo/websocket/";

  12. //websocket在线测试地址

  13. // public static final String WEBSOCKET_URL = "ws://121.40.165.18:8088/websocket";

  14. }


 

 

最后最重要的一点,源码地址:

http://download.csdn.net/detail/lucherr/9906948