-
Notifications
You must be signed in to change notification settings - Fork 0
bigclean/moc
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
moc
=== - mini but extensiable online communication system,
we use it on our game mobile app.
most codes stolen from nmdb, clearsilver... thanks them a lot.
design
------
Based on nmdb, one server can hold multi backend module
(per module: one plugin, one message queue, one thread);
And, one module can exist on many process or many servers
for load share.
consider doc/net-skeleton.png and the codes for more information.
directory
---------
moc/
|-- server server daemon code (only tested on GNU/Linux)
|-- plugin server application logic module code
|-- client client API code (tested on Linux, ios, android)
| `-- clearsilver client API depend on clearsilver's util library
|-- conf configration file
|-- demo simple application demo(use client API)
`-- doc documentation
depend
------
The server depend on cmoon's mnl library currently. so, checkout
git://github.com/bigml/cmoon.git into the moc's parent directory.
and do the rest lib/mnl's compile fuck, then, every thing goes ok.
Client is very easy to compile, gcc, xcode, ndk can compile client
directory to a static library.
Take a look on client/Makefile first, you need to manually define
some macros like EVENTLOOP, std=c99... on non-Linux enviorment.
And then, compile the chat demo, modify mocclient.hdf config file,
run it, hack it, have fun!
multi app dev
-------------
Following steps can hold multiply application develop at the same time.
Which seprated public and application code clearly.
(MOC_PATH hold the moc public base code.
appxmoc hold the x application's logic code.
you can make appymoc, appzmoc, ...)
0
-
mkdir appxmoc;
cd appxmoc;
1
-
ln -s MOC_PATH/server .
ln -s MOC_PATH/client .
cp -rf MOC_PATH/conf .
cp MOC_PATH/Makefile .
cp -rf MOC_PATH/plugin .
cd plugin/; rm skeleton_*; ln -s MOC_PATH/plugin/skeleton* .
cd private/; rm skeleton_*; ln -s MOC_PATH/plubin/private/skeleton* .
mkdir demo;
cd demo;
ln -s MOC_PATH/demo/Makefile .
ln -s MOC_PATH/demo/*.c .
ln -s ../conf/mocclient.hdf .
About
mini but extensiable online communicate system(Server on Linux, Client on Linux, macos, ios, android...)
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 94.3%
- Java 4.0%
- C++ 1.1%
- Objective-C 0.6%