8000 GitHub - shangyou/icomet: A C1000K comet/push server built with C++, for web and mobile app
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

shangyou/icomet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

icomet

A C1000K comet/push server built with libevent.

iComet is powerfull, can be used as the messaging server of many applications, such as web chat, mobile application, desktop application etc.

iComet provides a easy-to-use JavaScript library, with iComet js lib, you can build a web app that needs server-push feature very fast.

iComet's role in web system and mobile system

icomet's role

Compile and Run

wget --no-check-certificate https://github.com/ideawu/icomet/archive/master.zip
unzip master.zip
cd icomet-master/
make
./comet-server icomet.conf

curl -v "http://127.0.0.1:8100/sub?cname=12"
# open another terminal
curl -v "http://127.0.0.1:8000/pub?cname=12&content=hi"

JavaScript Library Usage

var comet = new iComet({
    channel: 'abc',
    signUrl: 'http://127.0.0.1:8000/sign',
    subUrl: 'http://127.0.0.1:8100/sub',
    callback: function(content){
        // on server push
        alert(content);
    }
});

Supported Platforms and Browsers

Browser Platform
Safari iOS(iPhone, iPod, iPad), Mac
Firefox Windows, Mac
Chrome Windows, Mac
IE6, IE8 Windows

Java/Android API

https://github.com/DuoZhang/iCometClient4j

Memory Usage

Connections VIRT RES
0 39m 24m
100,000 302 5DB5 m 288m
200,000 579m 565m
500,000 1441m 1427m
1,000,000 2734m 2720m

2.7KB per connection.

Run the chat demo

  1. Compile and start icomet server
  2. Drag and drop the file demos/web/chat.html into one web browser
  3. Drag and drop the file demos/web/chat.html into another different web browser
  4. Start chatting!

Live demo

http://www.ideawu.com/icomet/chat.html

Nginx + icomet

You can integrate icomet with nginx. If you are running you website on port 80 with domain www.test.com. That is you visit your website home page with this url:

http://www.test.com/

Then you want to run icomet on the same server with port 80, for the concern of firewall issue. You can config nginx to pass request to icomet:

location ~ ^/icomet/.* {
	rewrite ^/icomet/(.*) /$1 break;

	proxy_read_timeout 60;
	proxy_connect_timeout 60;
	proxy_buffering off;
	proxy_pass   http://127.0.0.1:8100;
}   

Then, this url is used to subscribe to icomet channel xxx:

http://www.test.com/icomet/sub?cname=xxx

About

A C1000K comet/push server built with C++, for web and mobile app

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0