【练习代码】试用百度BAE和练手jetty continuation的副成品 —— 一个简陋的WEB版LBS聊天应用
2013-10-09 09:19
281 查看
最近写了个测试小应用,是试用百度BAE和练手jetty continuation的副成品,一个简陋的WEB版LBS聊天应用聊天应用。
简介
----
* 首先需要说明,我最初的想法以失败告终。
* 原本的目标是在BAE上面做一个WEB版的LBS聊天应用,还美其名曰“一圈人”(后面会介绍一圈人
的由来)。目前半成品状态,本地能跑通。
* 几周前,我偶然发现BAE可以免费用用JVM(至少当前可以,以后就不知道了),且servlet容器
是jetty,于是萌生了一个想法,基于jetty的continuation做个WEB版的LBS即时聊天应用。顺
便还可以练手long polling相关的程序开发,毕竟我还没做过。经过一周多时间晚上和周末的努
力,程序的基本逻辑已在本地完成了测试,但放到BAE上运行时发现,使用continuation居然报
错了!咨询了BAE客服,确认了目前暂不支持continuation,只能作罢,所以开头说了“我最初的
想法以失败告终”。
* 这个Demo版的程序源码 ( https://github.com/auzll/zquan ) 就放出来好了,仅供技术上学习
和参考,禁止商用。因程序中所使用的百度地图API、前后端的部分依赖库或功能会有版权方面的
问题。如有商用需要,请联系相关版权方咨询。
程序概述
--------
* 语言和运行环境:java,jdk 1.6+,jetty 8.x
* 主要依赖库:
后端:IOC用了我最熟悉的Guice,json插件用了阿里巴巴开源的fastjson,日志用log4j
前端:主要就是满街泛滥的bootstrap
* 程序逻辑很简单:目前只有基本的聊天,非常简单(参考了jetty的例子来改的),但是BAE不支
持continuation,于是这个最基本的聊天功能都无法实现,所以程序就没再进一步做开发了。
(jetty的例子 http://download.eclipse.org/jetty/stable-7/xref/com/acme/ChatServlet.html )
* LBS聊天策略:基于Geo Hash算法,转化经纬度,转化结果值相同的就当做同一个区域内来处
理,此区域内的人可以在一起聊天。
* 经纬度获取:通过百度地图API,先从IP地址获取城市地址,再从城市地址转换为经纬度。目前
貌似没办法直接转换,也许是我没找到吧。
“一圈人”这个名字的由来
---------------------
* 大家应该都用过“地图检索”功能吧?类似(http://developer.baidu.com/map/static/img/js_fn6.jpg),
从图片中能看到一个蓝色小圆圈表示附近的区域,而我想做的就是让这圆圈内的人可以一起聊天,
所以叫做“一圈人”。
下面 贴贴demo的运行效果图:
发布在 http://auzll.iteye.com
大小: 71.1 KB
大小: 393.7 KB
查看图片附件
简介
----
* 首先需要说明,我最初的想法以失败告终。
* 原本的目标是在BAE上面做一个WEB版的LBS聊天应用,还美其名曰“一圈人”(后面会介绍一圈人
的由来)。目前半成品状态,本地能跑通。
* 几周前,我偶然发现BAE可以免费用用JVM(至少当前可以,以后就不知道了),且servlet容器
是jetty,于是萌生了一个想法,基于jetty的continuation做个WEB版的LBS即时聊天应用。顺
便还可以练手long polling相关的程序开发,毕竟我还没做过。经过一周多时间晚上和周末的努
力,程序的基本逻辑已在本地完成了测试,但放到BAE上运行时发现,使用continuation居然报
错了!咨询了BAE客服,确认了目前暂不支持continuation,只能作罢,所以开头说了“我最初的
想法以失败告终”。
* 这个Demo版的程序源码 ( https://github.com/auzll/zquan ) 就放出来好了,仅供技术上学习
和参考,禁止商用。因程序中所使用的百度地图API、前后端的部分依赖库或功能会有版权方面的
问题。如有商用需要,请联系相关版权方咨询。
程序概述
--------
* 语言和运行环境:java,jdk 1.6+,jetty 8.x
* 主要依赖库:
后端:IOC用了我最熟悉的Guice,json插件用了阿里巴巴开源的fastjson,日志用log4j
前端:主要就是满街泛滥的bootstrap
* 程序逻辑很简单:目前只有基本的聊天,非常简单(参考了jetty的例子来改的),但是BAE不支
持continuation,于是这个最基本的聊天功能都无法实现,所以程序就没再进一步做开发了。
(jetty的例子 http://download.eclipse.org/jetty/stable-7/xref/com/acme/ChatServlet.html )
* LBS聊天策略:基于Geo Hash算法,转化经纬度,转化结果值相同的就当做同一个区域内来处
理,此区域内的人可以在一起聊天。
* 经纬度获取:通过百度地图API,先从IP地址获取城市地址,再从城市地址转换为经纬度。目前
貌似没办法直接转换,也许是我没找到吧。
“一圈人”这个名字的由来
---------------------
* 大家应该都用过“地图检索”功能吧?类似(http://developer.baidu.com/map/static/img/js_fn6.jpg),
从图片中能看到一个蓝色小圆圈表示附近的区域,而我想做的就是让这圆圈内的人可以一起聊天,
所以叫做“一圈人”。
下面 贴贴demo的运行效果图:
发布在 http://auzll.iteye.com
大小: 71.1 KB
大小: 393.7 KB
查看图片附件
相关文章推荐
- 微信公众开放平台开发04---百度BAE,java应用部署服务器,jetty了解
- 百度BAE新动向:每个应用都可以独立创建一个mysql数据库了
- php和数据库结合的一个简单的web实例 代码分析 (php初学者)
- 使用JSF, Spring, Hibernate构建一个实际的web应用(转载)
- 正则表达式应用之提炼百度歌词的实现代码
- 一起学WEB(八) 一个网页练习(二)
- HBuilder:一个不错的web前端IDE(代码编辑器)
- 一个JAVA小项目--Web应用自动生成Word
- 一个web应用的诞生(13)--冲向云端
- tomcat8 如何通过绑定域名来访问一个web 应用。
- Facebook移动即时应用中被爆含移动视频聊天代码
- docker - 从安装到部署一个web应用(go、java)
- 一个典型Web应用的中间部分是业务层或服务层
- 自己定个一个小项目,探究web应用期间,动态编译java脚本的影响
- 百度Map与HT for Web结合的GIS网络拓扑应用
- 一个简单的从数据库读取信息的 Web 应用
- ComponentOne WebChart的一个应用实例
- 写一个百度url收录检测的web_php小工具
- Asp.net中如何处理一个站点不同Web应用通用Session的问题
- struts+spring+hibernate的web应用 Service层代码编写