SlideShare a Scribd company logo
1 of 5
推聊 - 3 分钟可运行起来的开源 Android

手机聊天系统



推聊概述 PushTalk Overview

推聊是一个基于极光推送的 Android 手机聊天系统。支持群聊与点对点聊天。当前包括 An

droid 客户端与 Java 服务器端。3 分钟就可以整套系统跑起来。




开源项目官方网站


http://github.com/good-life/pushtalk
功能与特点


功能列表



        频道里群聊

        与其他用户点对点聊天

        聊天支持文字、表情、URL 等

        创建频道、加入频道

        注册用户(不需要密码)

        我的频道

        我的最近聊天

        聊天记录缓存

        客户端选择聊天服务器、添加聊天服务器



特点
简单到极致的 http 聊天服务器:一个 jar 包跑起来

                 轻量级客户端:聊天界面使用 Webview 的方式

                 下行消息推送基于 JPush
                              (一个免费的第三方 Android Push 服务),

                 上行消息采用 http 请求的方式实现



聊天服务器


推聊的服务器端使用 Java 语言编写,基于最简单实用的开源框架。



                 http 服务器使用 Jetty:轻量级的 Java Servlet 容器。

                 数据库使用 H2: 轻量级的 Java 内存/文件数据库。

                 页面模板使用 Freemarker:轻量级的 Java 页面模板引擎。

                 打包时集成为一个整体 jar 包(包含所有的依赖包)



要运行推聊服务器端,请在 github 文件下载页 https://github.com/good-life/PushTalk/dow

nloads/ 下载推聊服务器 jar 文件。



使用如下命令运行服务器:



java -Dfile.encoding=UTF-8 -jar pushtalk-server-with-dependencies.jar


注:实际的文件名后边一般会加上一个版本号。


上述命令运行后:



                 一个 http server 启动了,监听端口为 10010

                 浏览器里输入 http://localhost:10010 则可以访问到界面
要正确地运行服务器,需要通过客户端访问



推聊服务器默认使用 10010 端口。可以在上述命令后指定使用另外的端口。比如以下命

令指定使用 10011 来启动推聊聊天服务器:



java -jar pushtalk-server-with-dependencies.jar 10011


Android 客户端


客户端运行,请在 github 文件下载页 https://github.com/good-life/PushTalk/downloads/

下载 Android apk 安装到 Android 手机即可。



你也可以自己编译 /client-android 项目之后安装到手机。



客户端默认内置官方聊天服务器地址。也可以直接在客户端添加新的服务器,选择新的聊天

服务器。



如果你有服务器资源,可以长期运行,欢迎你架设推聊聊天服务器,请添加到以下的页面。

经过测试没有问题,会被选择预置到客户端代码里:


https://github.com/good-life/PushTalk/wiki/PushTalk-Third-Party-Servers



开发者支持


欢迎广大开发者加入本开源项目,大家一起来不断地丰满、完善推聊。



本人是因为兴趣业余时间来开发推聊,考虑到 IM 占用的时间太多,所以请谅解,不提供

任何 IM 的沟通方式。希望大家以如下的方式交流:
Email: pushtalk.org@gmail.com

             项目 Wiki: https://github.com/good-life/PushTalk/wiki

             项目 Bug: https://github.com/good-life/PushTalk/issues


             PushTalk 频道:pushtalk, 报告 bug, 新功能讨论 等



代码提交方式:请先提交 Bug 修复,把 diff 以文件方式发邮件给我。合作多次后,我可以

把你加入到本项目贡献者里来,你就可以随时自由地提交代码了。



你也可以自由地 fork 本项目,自己去发布新的版本。



推聊使用的开源协议:Apache License 2.0

More Related Content

Viewers also liked

Androidpn作为android推送方案存在的问题
Androidpn作为android推送方案存在的问题Androidpn作为android推送方案存在的问题
Androidpn作为android推送方案存在的问题kaerseng
 
3 分钟搞定 android push
3 分钟搞定 android push3 分钟搞定 android push
3 分钟搞定 android pushkaerseng
 
通过Push来提高android应用的活跃度
通过Push来提高android应用的活跃度通过Push来提高android应用的活跃度
通过Push来提高android应用的活跃度kaerseng
 
极光推送技术原理解析
极光推送技术原理解析极光推送技术原理解析
极光推送技术原理解析kaerseng
 
大容量云推送技术解析
大容量云推送技术解析大容量云推送技术解析
大容量云推送技术解析kaerseng
 
云推送技术实现与敏捷开发
云推送技术实现与敏捷开发云推送技术实现与敏捷开发
云推送技术实现与敏捷开发kaerseng
 
选择第三方推送
选择第三方推送选择第三方推送
选择第三方推送kaerseng
 
Essential product design research
Essential product design researchEssential product design research
Essential product design researchPhil Johnson
 
Redis 存储分片之代理服务twemproxy 测试
Redis 存储分片之代理服务twemproxy 测试Redis 存储分片之代理服务twemproxy 测试
Redis 存储分片之代理服务twemproxy 测试kaerseng
 
Essential Product Planning Techniques for Oxford University Press
Essential Product Planning Techniques for Oxford University PressEssential Product Planning Techniques for Oxford University Press
Essential Product Planning Techniques for Oxford University PressPhil Johnson
 
外国人観光客をどう受け入れるか? ~これからの訪日インバウンドビジネスを考える~【20150520インバウンドセミナー】
外国人観光客をどう受け入れるか? ~これからの訪日インバウンドビジネスを考える~【20150520インバウンドセミナー】外国人観光客をどう受け入れるか? ~これからの訪日インバウンドビジネスを考える~【20150520インバウンドセミナー】
外国人観光客をどう受け入れるか? ~これからの訪日インバウンドビジネスを考える~【20150520インバウンドセミナー】株式会社ゼンリン
 
訪日外国人観光客の最新動向【20150520インバウンドセミナー】
訪日外国人観光客の最新動向【20150520インバウンドセミナー】訪日外国人観光客の最新動向【20150520インバウンドセミナー】
訪日外国人観光客の最新動向【20150520インバウンドセミナー】株式会社ゼンリン
 
Android消息推送之androidpn demo版到正式上线
Android消息推送之androidpn demo版到正式上线Android消息推送之androidpn demo版到正式上线
Android消息推送之androidpn demo版到正式上线kaerseng
 

Viewers also liked (19)

Androidpn作为android推送方案存在的问题
Androidpn作为android推送方案存在的问题Androidpn作为android推送方案存在的问题
Androidpn作为android推送方案存在的问题
 
3 分钟搞定 android push
3 分钟搞定 android push3 分钟搞定 android push
3 分钟搞定 android push
 
通过Push来提高android应用的活跃度
通过Push来提高android应用的活跃度通过Push来提高android应用的活跃度
通过Push来提高android应用的活跃度
 
极光推送技术原理解析
极光推送技术原理解析极光推送技术原理解析
极光推送技术原理解析
 
大容量云推送技术解析
大容量云推送技术解析大容量云推送技术解析
大容量云推送技术解析
 
Costume
CostumeCostume
Costume
 
云推送技术实现与敏捷开发
云推送技术实现与敏捷开发云推送技术实现与敏捷开发
云推送技术实现与敏捷开发
 
1 2 learning abaqus
1 2 learning abaqus1 2 learning abaqus
1 2 learning abaqus
 
选择第三方推送
选择第三方推送选择第三方推送
选择第三方推送
 
O pozadini zdravstvenog odgoja
O pozadini zdravstvenog odgojaO pozadini zdravstvenog odgoja
O pozadini zdravstvenog odgoja
 
Essential product design research
Essential product design researchEssential product design research
Essential product design research
 
Redis 存储分片之代理服务twemproxy 测试
Redis 存储分片之代理服务twemproxy 测试Redis 存储分片之代理服务twemproxy 测试
Redis 存储分片之代理服务twemproxy 测试
 
Essential Product Planning Techniques for Oxford University Press
Essential Product Planning Techniques for Oxford University PressEssential Product Planning Techniques for Oxford University Press
Essential Product Planning Techniques for Oxford University Press
 
外国人観光客をどう受け入れるか? ~これからの訪日インバウンドビジネスを考える~【20150520インバウンドセミナー】
外国人観光客をどう受け入れるか? ~これからの訪日インバウンドビジネスを考える~【20150520インバウンドセミナー】外国人観光客をどう受け入れるか? ~これからの訪日インバウンドビジネスを考える~【20150520インバウンドセミナー】
外国人観光客をどう受け入れるか? ~これからの訪日インバウンドビジネスを考える~【20150520インバウンドセミナー】
 
訪日外国人観光客の最新動向【20150520インバウンドセミナー】
訪日外国人観光客の最新動向【20150520インバウンドセミナー】訪日外国人観光客の最新動向【20150520インバウンドセミナー】
訪日外国人観光客の最新動向【20150520インバウンドセミナー】
 
Android消息推送之androidpn demo版到正式上线
Android消息推送之androidpn demo版到正式上线Android消息推送之androidpn demo版到正式上线
Android消息推送之androidpn demo版到正式上线
 
Locations
LocationsLocations
Locations
 
Scents of Precious Woods
Scents of Precious WoodsScents of Precious Woods
Scents of Precious Woods
 
David Ortíz
David OrtízDavid Ortíz
David Ortíz
 

Similar to 推聊 3分钟可运行起来的开源 android手机聊天系统

互联网创业服务器运维工具集
互联网创业服务器运维工具集互联网创业服务器运维工具集
互联网创业服务器运维工具集zhen chen
 
PHP & AppServ
PHP & AppServPHP & AppServ
PHP & AppServHt Wang
 
PHP WEB 应用组织与结构
PHP WEB 应用组织与结构PHP WEB 应用组织与结构
PHP WEB 应用组织与结构HonestQiao
 
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundryHong Cai
 
基于 lucene 的站内搜索
基于 lucene 的站内搜索基于 lucene 的站内搜索
基于 lucene 的站内搜索fulin tang
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯liuts
 
深入研究 Windows 系統服務 效能調校與故障排除
深入研究 Windows 系統服務    效能調校與故障排除深入研究 Windows 系統服務    效能調校與故障排除
深入研究 Windows 系統服務 效能調校與故障排除5045033
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定Shengyou Fan
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡guest2d0fe3
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡Cary Yang
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践yiditushe
 
Java 1(Java概述)
Java 1(Java概述)Java 1(Java概述)
Java 1(Java概述)xzdbd
 
[精华回顾]讲座:How To Install Linux
[精华回顾]讲座:How To Install Linux[精华回顾]讲座:How To Install Linux
[精华回顾]讲座:How To Install LinuxNJU OPEN
 
2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swttka
 
为什么上网浏览要用Shadowsocks?
为什么上网浏览要用Shadowsocks?为什么上网浏览要用Shadowsocks?
为什么上网浏览要用Shadowsocks?zzzzzz gg
 
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐张所勇:前端开发工具推荐
张所勇:前端开发工具推荐zhangsuoyong
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer TalkLarry Cai
 
微软Bot framework简介
微软Bot framework简介微软Bot framework简介
微软Bot framework简介Zhichao Liang
 

Similar to 推聊 3分钟可运行起来的开源 android手机聊天系统 (20)

互联网创业服务器运维工具集
互联网创业服务器运维工具集互联网创业服务器运维工具集
互联网创业服务器运维工具集
 
PHP & AppServ
PHP & AppServPHP & AppServ
PHP & AppServ
 
PHP WEB 应用组织与结构
PHP WEB 应用组织与结构PHP WEB 应用组织与结构
PHP WEB 应用组织与结构
 
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
 
基于 lucene 的站内搜索
基于 lucene 的站内搜索基于 lucene 的站内搜索
基于 lucene 的站内搜索
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯
 
深入研究 Windows 系統服務 效能調校與故障排除
深入研究 Windows 系統服務    效能調校與故障排除深入研究 Windows 系統服務    效能調校與故障排除
深入研究 Windows 系統服務 效能調校與故障排除
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
 
1~60
1~601~60
1~60
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
Html5
Html5Html5
Html5
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
 
Java 1(Java概述)
Java 1(Java概述)Java 1(Java概述)
Java 1(Java概述)
 
[精华回顾]讲座:How To Install Linux
[精华回顾]讲座:How To Install Linux[精华回顾]讲座:How To Install Linux
[精华回顾]讲座:How To Install Linux
 
2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt
 
为什么上网浏览要用Shadowsocks?
为什么上网浏览要用Shadowsocks?为什么上网浏览要用Shadowsocks?
为什么上网浏览要用Shadowsocks?
 
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 
微软Bot framework简介
微软Bot framework简介微软Bot framework简介
微软Bot framework简介
 

推聊 3分钟可运行起来的开源 android手机聊天系统

  • 1. 推聊 - 3 分钟可运行起来的开源 Android 手机聊天系统 推聊概述 PushTalk Overview 推聊是一个基于极光推送的 Android 手机聊天系统。支持群聊与点对点聊天。当前包括 An droid 客户端与 Java 服务器端。3 分钟就可以整套系统跑起来。 开源项目官方网站 http://github.com/good-life/pushtalk
  • 2. 功能与特点 功能列表 频道里群聊 与其他用户点对点聊天 聊天支持文字、表情、URL 等 创建频道、加入频道 注册用户(不需要密码) 我的频道 我的最近聊天 聊天记录缓存 客户端选择聊天服务器、添加聊天服务器 特点
  • 3. 简单到极致的 http 聊天服务器:一个 jar 包跑起来 轻量级客户端:聊天界面使用 Webview 的方式 下行消息推送基于 JPush (一个免费的第三方 Android Push 服务), 上行消息采用 http 请求的方式实现 聊天服务器 推聊的服务器端使用 Java 语言编写,基于最简单实用的开源框架。 http 服务器使用 Jetty:轻量级的 Java Servlet 容器。 数据库使用 H2: 轻量级的 Java 内存/文件数据库。 页面模板使用 Freemarker:轻量级的 Java 页面模板引擎。 打包时集成为一个整体 jar 包(包含所有的依赖包) 要运行推聊服务器端,请在 github 文件下载页 https://github.com/good-life/PushTalk/dow nloads/ 下载推聊服务器 jar 文件。 使用如下命令运行服务器: java -Dfile.encoding=UTF-8 -jar pushtalk-server-with-dependencies.jar 注:实际的文件名后边一般会加上一个版本号。 上述命令运行后: 一个 http server 启动了,监听端口为 10010 浏览器里输入 http://localhost:10010 则可以访问到界面
  • 4. 要正确地运行服务器,需要通过客户端访问 推聊服务器默认使用 10010 端口。可以在上述命令后指定使用另外的端口。比如以下命 令指定使用 10011 来启动推聊聊天服务器: java -jar pushtalk-server-with-dependencies.jar 10011 Android 客户端 客户端运行,请在 github 文件下载页 https://github.com/good-life/PushTalk/downloads/ 下载 Android apk 安装到 Android 手机即可。 你也可以自己编译 /client-android 项目之后安装到手机。 客户端默认内置官方聊天服务器地址。也可以直接在客户端添加新的服务器,选择新的聊天 服务器。 如果你有服务器资源,可以长期运行,欢迎你架设推聊聊天服务器,请添加到以下的页面。 经过测试没有问题,会被选择预置到客户端代码里: https://github.com/good-life/PushTalk/wiki/PushTalk-Third-Party-Servers 开发者支持 欢迎广大开发者加入本开源项目,大家一起来不断地丰满、完善推聊。 本人是因为兴趣业余时间来开发推聊,考虑到 IM 占用的时间太多,所以请谅解,不提供 任何 IM 的沟通方式。希望大家以如下的方式交流:
  • 5. Email: pushtalk.org@gmail.com 项目 Wiki: https://github.com/good-life/PushTalk/wiki 项目 Bug: https://github.com/good-life/PushTalk/issues PushTalk 频道:pushtalk, 报告 bug, 新功能讨论 等 代码提交方式:请先提交 Bug 修复,把 diff 以文件方式发邮件给我。合作多次后,我可以 把你加入到本项目贡献者里来,你就可以随时自由地提交代码了。 你也可以自由地 fork 本项目,自己去发布新的版本。 推聊使用的开源协议:Apache License 2.0