GithubHelp home page GithubHelp logo

fast01 / avim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zhangf911/avim

0.0 1.0 0.0 15.76 MB

IM for avplayer

Home Page: http://avplayer.org/avim

CMake 11.95% QMake 3.10% Shell 1.38% C++ 83.57%

avim's Introduction

avim

IM for avplayer

avim 是一个完全全新设计的IM协议,同时也是一个同名的C++实现(reference implementation)。 # 目标 目标是提供一个开源的IM实现,并且能实现文字聊天,图片聊天,语音聊天,视频聊天。这是同样开源的IRC和XMPP无法实现的。

avim 总架构:

     avim-client(qt based, ncurser based, etc)
           |
+----------+---------+     +----------+---------+
|     avim-router ---+-----+----- avim-router   |
+--------------------+     +--------------------+
									  |
									  |
							+---------+----------+
							|      avim-bot      |
							|      |      |      |
							|  avim-db  avim-log |
							+--------------------+
  • avim-router 为核心协议实现, libavproto.so / libavproto.dll 提供多种语言的 wrapper 接口

  • avim-bot 为聊天机器人,用来实现群聊

  • avim-db 为用户信息数据库,为独立进程。可以不必跑在相同服务器上。

  • avim-log 为聊天日志记录数据库,为独立进程。可以不必跑在相同服务器上。

  • avim-client 为客户端,avplayer.org 计划提供基于Qt的跨平台客户端,以及 pidgin 插件。

计划使用的库

protobuf, boost, Qt(客户端only)

protobuf protobuf 从这个地方下载

https://github.com/google/protobuf/releases

boost

boost 从这个地方下载

http://www.boost.org/users/history/version_1_57_0.html

Build

$ git clone https://github.com/avplayer/avim.git
$ cd avim && mkdir build && cd build && cmake ..
$ make -j8  # 默认带GUI; 如不需编译GUI的, 可以用 $ cmake .. -DBUILD_GUI=OFF

详细的编译说明

windows版本 编译说明

ubuntu版本 编译说明

MacOS版本 编译说明

协议

协议本身将进入 public domain,允许任何人自行实现。 avplayer.org社区提供的avim协议实现avim,将采用 LGPL 许可证,以便允许商业二次开发。

优势

avim 作为一个开源的IM实现,同时包含了客户端和服务器端。 avplayer.org 本身会运营一个实例,用于社区成员之间的沟通。 但是,avim允许二次开发,允许第三方运行avim提供功能, 而且不同avim服务提供商之间的用户还可以相互通信。这样就把 avim变成了一个分布式的IM网络了。 任何人都可以搭建自己的服务器和聊天室。同时允许二次开发,会有更丰富的第三方应用出现。

mail list

http://mailman.avplayer.org/pipermail/list/

avim's People

Contributors

downup2u avatar igreedpainter avatar jackarain avatar microcai avatar peterfuture avatar xosdy avatar yueliangwen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.