Code Bye

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

推聊概述 PushTalk Overview
推聊是一个基于极光推送的Android手机聊天系统。支持群聊与点对点聊天。当前包括Android客户端与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/downloads/ 下载推聊服务器 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


1分
很好啊。。。。。。。。。。。。。。。学习了
顶,回家看看!

真不错啊,去看看代码先


2分
犀利,慢慢研究下
给力,顶一下

2分
mark下  说不一定以后用得着

2分
真厉害,必须得收藏起来慢慢研究下

2分
功能不算太多啊,不过基本的聊天功能具备了也不错
谢谢,收藏!
好想知道楼主是怎么做到的  佩服啊

1分
好厉害啊,关键是这开发思路挺棒的

1分
不错呀,回家看看去

1分
极光推送还可以用来开发及时聊天应用么?这个聊天系统和微信有啥区别么

1分
这开发思路不错,值得学习下

1分
MARK!以后有机会也为开源做贡献

1分
蛮不错的,学习下这方面的知识
Mark。谢谢楼主分享。

1分
不错,待会儿去项目网站看看

1分
很不错 啊  慢慢研究去
引用 16 楼 tudoubanni 的回复:

极光推送还可以用来开发及时聊天应用么?这个聊天系统和微信有啥区别么

极光推送可以的,如果你要是用了的话,你会死的很惨的,极光的即时性不是太高


1分
厉害厉害,有机会我也这么试试

1分
上行自己写http,下行通过极光推送
厉害 学习下哦

1分
请问怎么样下载的?
学习学习,有点难。
好东西,学习学习。
想法挺不错的
真是民间高手啊
高手在民间啊
支持开源项目
厉害!高手啊
学习学习,
真心不错,支持一下
膜拜
我和我的小伙伴们都惊呆了
+10086
油菜花
+1024
真流弊
真厉害,我来玩玩
3分钟跑起来的系统,真流弊
推聊的服务器端使用 Java 语言编写,基于最简单实用的开源框架。
+10086
火钳刘明
不错的想法
看看,学习一下
我想要IM的联系方式
页面模板使用 Freemarker:轻量级的 Java 页面模板引擎。
推聊服务器默认使用 10010 端口。
要运行推聊服务器端,请在 github 文件下载页 https://github.com/good-life/PushTalk/downloads/ 下载推聊服务器 jar 文件。
?轻量级客户端:聊天界面使用 Webview 的方式
要运行推聊服务器端,请在 github 文件下载页 https://github.com/good-life/PushTalk/downloads/ 下载推聊服务器 jar 文件。
页面模板使用 Freemarker:轻量级的 Java 页面模板引擎。
支持群聊与点对点聊天
下行使用推送,那及时性不是不大好?
而且我试了下,好像丢包挺多的唉

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明推聊 – 3分钟可运行起来的开源 Android手机聊天系统