基于Node.JS, MongoDB的开源IM聊天框架Spika

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Node.JS, MongoDB的开源IM聊天框架Spika相关的知识,希望对你有一定的参考价值。

参考技术A 发现一款强大的开源聊天框架 Spika 。 它不仅提供ios,android,Web端的源码,还有后端的源码,都是开源的。Spika的提供者是来自克罗地亚的一家移动APP公司 Clover Studio 感谢他们的团队把这个项目从头到脚都开源了。

相对于传统的LAMP(LINUX, APACHE, mysql,php), Node.js + MongoDB 是一种比较新的后端组合。Google自己的聊天平台Google Messaging Cloud(GMC)就是基于Node.JS+MongoDB实现的。

废话不多说,开始使用吧!

安装服务器端
1.环境配置。 官网 上提供的是Ubuntu14.04版的配置过程。见下图:

由于我用的服务器是Amazon Linux,用yum来安装。

git clone git://github.com/nodejs/node.git
cd node
git checkout v4.4.7
./configure
make
sudo make install
sudo su
vi /etc/sudoers

:/usr/local/bin```

3.安装imagemagick

5.安装Spika

6.安装gulp
sudo npm install gulp -g

7.编写配置文件

把Config.host和port的值设为自己服务器的hostname和port, 把Config.chatDatabaseUrl的值改为mongoDB的路径。最好用1024以上的port。mongoDB如果没有修改安全选项的话,最好用127.0.0.1。

8 . 运行项目

这时候可能会报错
找不到jsdoc。 解决方法:

然后再次运行

开启服务器
node src/server/main.js

这个时候用浏览器登陆
主机号:端口号/spika
就可以开始聊天啦!

除了web版,它还有android和ios版,下次再尝试吧:)

IM web客户端


开源的Web即时聊天应用


1.Cryptocat

Cryptocat 是一个开源基于Web的即时消息聊天应用程序。与其它即时聊天工具不同之处在于它主要关注确保通信是进行加密过和私人化的。

Cryptocat 基于PHP开发除了静态文件(CSS, JS和图片)外只有单独的一个PHP文件。其界面简单而且漂亮。消息使用crypto.js library进行AES-256加密。

项目地址: https://crypto.cat/



2.Candy

Candy是一个开源的聊天客户端基于JavaScript开发。支持任意Jabber服务器包括自己搭建的服务器。但需要服务器开启HTTP-binding支持。

这个应用程序支持多个聊天室与多个用户进行私聊主持人甚至可以踢出和禁止用户。

它的界面支持多国语方并能够通过插件进行扩展。

Candy提供良好的文档和完整的API能够便捷地与其它应用程序或网站相集成。

项目地址: http://amiadogroup.github.com/candy/

下载: https://github.com/amiadogroup/candy


3.JsChat

Js Chat是一个开源的聊天应用程序使用了一个基于JSON的简单协议。Js Chat采用Ruby (Sinatra)开发。 它拥有一个控制台客户端外观类似于IRC客户端。它能够展示图片和YouTube视频。用户可以使用Twitter帐号登录并使用mangodb记录日志。利用Js Chat用户可以创建多个聊天室。它的协议设计成接近可执行的代码所以利用它可以很方便地创建客户端。

项目地址: http://jschat.org/

下载: https://github.com/alexyoung/jschat



4.BigBlueButton

BigBlueButton是一套开源的视频会议系统特别适用于远程教育也可以用于标准的会议。该系统可以让多个用户登录共享他们的摄像头并同时能够通过VOIP进行交流。可以在线演示PDF和Office文档用户还可以将他们的桌面共享给其他用户。用户可以举手发言支持群聊和私聊。

项目地址: http://demo.bigbluebutton.org


5.iJab

iJab是基于Ajax技术开发的、支持XMPP/Jabber协议的Web即时通讯客户端XMPP Web IM/Web Chat。iJab是开源软件任何人都可以基于iJab建立支持XMPP协议的即时通讯系统。iJab使用Javascript和HTML开发基于浏览器运行客户端无需下载其他程序。

iJab同时还开发了类似于Facebook聊天风格的Web即时通讯客户端--iJabBar。

功能包括

嵌入浏览器运行无弹出窗口声音

多人聊天

用户搜索

Roster管理

HTTP-Binding

还支持MSN、AIM等即时通讯协议


项目地址: http://opensource.ijab.im/

via   http://skytechgeek.com/2011/09/5-free-open-source-chat-applications-for-developers/



6.JWChat

JWChat是一个功能强大,基于Web的Jabber客户端。采用AJAX技术开发 这个客户端只用到了JavaScript与HTML。它具备基本的jabber即时消息功能用户管理。


本文出自 “清风徐来” 博客,请务必保留此出处http://cui918.blog.51cto.com/5884562/1877461

以上是关于基于Node.JS, MongoDB的开源IM聊天框架Spika的主要内容,如果未能解决你的问题,请参考以下文章

Go语言实战基于 WebSocket + MongoDB 的IM即时聊天Demo

《基于Node.js实现简易聊天室系列之总结》

Node.js+websocket+mongodb实现即时聊天室

一个包含 node.js 和 mongodb 的整个网站?

搭建即时通讯Web端高性能分布式IM聊天服务器

IM web客户端