基于WebSocket实现的Android和H5聊天通讯实例【附效果图附所有源码】
转载请注明出处,原文地址:http://blog.****.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,后台源码是在****上下载的一个demo进行二次开发,附上资源链接表示对作者的感谢:
http://download.****.net/detail/xuxile/9395620
【接下来看下效果图】
从左到右依次为:Chrome,Genymotion,HuaWei P9
如果只关注Android的使用,也可以使用WebSocket在线测试工具提供的地址进行测试,作者之前使用过该工具进行测试:http://www.blue-zero.com/WebSocket/ ,使用方法将在后面介绍。
【注意事项】
1.后台源码很简单,使用Tomcat提供的websocket实现的,一看就明白,直接导入后运行即可,由于目前采用用户名作为保存连接的key,所以用户名最好不要使用中文,而且不要重复。
2.Android端在Java-WebSocket-1.3.1.jar的基础上对WebSocketClient进行了简单的封装,使用EventBus传递各种事件,由于是做websocket的技术演示,界面神马的一切从简,各位别介意。
源码导入后,需要根据服务端的实际地址进行修改,服务端可以导入Demo中的项目,也可以使用上面说的WebSocket在线测试地址。
-
/**
-
* 静态变量定义
-
* @author lucher
-
*
-
*/
-
public class Constant {
-
/**
-
* websocket服务器地址
-
*/
-
public static final String WEBSOCKET_URL = "ws://192.168.0.102:8080/websocket-demo/websocket/";
-
//websocket在线测试地址
-
// public static final String WEBSOCKET_URL = "ws://121.40.165.18:8088/websocket";
-
}
最后最重要的一点,源码地址: