`

【练习代码】试用百度BAE和练手jetty continuation的副成品 —— 一个简陋的WEB版LBS聊天应用

阅读更多

最近写了个测试小应用,是试用百度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
分享到:
评论

相关推荐

    jetty-continuation-8.1.8.v20121106-API文档-中文版.zip

    赠送jar包:jetty-continuation-8.1.8.v20121106.jar; 赠送原API文档:jetty-continuation-8.1.8.v20121106-javadoc.jar; 赠送源代码:jetty-continuation-8.1.8.v20121106-sources.jar; 赠送Maven依赖信息文件:...

    jetty-continuation-8.1.8.v20121106-API文档-中英对照版.zip

    赠送jar包:jetty-continuation-8.1.8.v20121106.jar; 赠送原API文档:jetty-continuation-8.1.8.v20121106-javadoc.jar; 赠送源代码:jetty-continuation-8.1.8.v20121106-sources.jar; 赠送Maven依赖信息文件:...

    jetty-continuation-7.4.2.v20110526.jar

    jetty-continuation-7.4.2.v20110526.jar jetty 服务jar包

    Jetty cometd(Continuation)学习笔记

    Jetty cometd(Continuation)学习笔记,自己用的,别人那down的网页

    Spring整合Jetty开发web应用的例程

    Spring整合Jetty服务器开发web应用的例程,通过Spring启动Jetty服务器’

    JettY 部署Web应用程序.doc

    JettY 部署Web应用程序.doc

    利用Jetty服务器开发web应用例程

    使用嵌入式servlet容器Jetty开发web应用的例程

    linux和windows版本的tomcat和jetty

    本压缩包包含了不同平台——windows以及linux最新的tomcat版本,(包含:tomcat-5.5.36、tomcat-6.0.37、tomcat-7.0.47)。 和jetty-distribution-9.0.6.v20130930。 供java web开发人员去下载

    jetty-6.1.9 jspweb 服务器

    开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。 Jetty 可以作为嵌入式服务器使用,Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test ...

    jetty内嵌到java代码启动

    jetty容器内嵌到java代码中,通过代码控制启动,方便开发调试

    jetty源代码下载

    jetty源代码下载 jetty源代码下载 jetty源代码下载 jetty源代码下载

    jetty 8及依赖包

    jetty8以及依赖包,学习的好代码,包括NIO和servlet的实现等

    jetty-5.1.12

    Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立...

    jetty相关的全部jar包

    jetty-security-9.4.8.v20171121.jar,jetty-io-9.4.8.v20171121.jar,jetty-continuation-9.4.8.v20171121.jar,jetty-client-9.4.8.v20171121.jar,jetty-jmx-9.4.8.v20171121.jar,jetty-plus-9.4.8.v20171121....

    实战 Jetty--让你快速速学会jetty

    Jetty 可以用来作为一个传统的 Web 服务器,也可以作为一个动态的内容服务器,并且 Jetty 可以非常容易的嵌入到 Java 应用程序当中。 特性简介 易用性 易用性是 Jetty 设计的基本原则,易用性主要体现在以下几个方面...

    jetty-continuation-9.2.9.v20150224.jar

    java运行依赖jar包

    Jetty嵌入项目代码中示例

    Jetty嵌入项目代码中示例,现我有一示例项目 e:/workspace/web-demo(称为project_home),里面的Web根目录是WebContent。 在project_home建一个jetty目录,子目录如:contexts、etc、lib。 把${jetty_home}/etc...

    jetty-io-9.4.43.v20210629.jar

    Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。...开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

    Android源码——i-jetty开源项目.zip

    Android源码——i-jetty开源项目.zip

Global site tag (gtag.js) - Google Analytics