[Done] iComet Admin

Work Flow

Build and Run

Source Code:
    https://github.com/ideawu/icomet.git
    https://github.com/ideawu/icomet/archive/master.zip

Compile:
    make

Run:
    ./icomet-server icomet.conf
    # or run as daemon
    ./icomet-server -d icomet.conf

Stop:
    ./icomet-server icomet.conf -s stop

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

Config File

$cat icomet.conf 

# icomet config file
# MUST indent by TAB

pidfile = ./icomet.pid

logger:
	level: debug
	#output: stdout
	output: ./logs/log.txt
	rotate:
		size: 1000000000

admin:
	#listen: 127.0.0.1:8000
	listen: 0.0.0.0:8000
	# allowed ip prefix, one ip each line
	allow: 127.0.0.1
	allow: 192.168
	deny: all
	#allow: all

front:
	listen: 0.0.0.0:8100
	# none|token
	auth: none
	max_channels: 100000
	max_subscribers_per_channel: 16
	# number of messages buffered
	channel_buffer_size: 10
	# in seconds
	channel_timeout: 30
	# the idle time to send noop message, in seconds
	polling_timeout: 30

Wiki

 


 

Long Polling

Request:
    http://127.0.0.1:8100/poll?cname=$channel&seq=$next_seq&token=$token

Response:
    icomet_cb([{type: "data", cname: "a", seq: "1", content: "a"}]);
    icomet_cb({type: "data", cname: "a", seq: "1", content: "a"});

Push Message

Request:
    http://127.0.0.1:8000/push?cname=$channel&content=$content

Response:
    {type: "ok"}

Create Channel

Request:
    http://127.0.0.1:8000/sign?cname=$channel[&expires=60]

Response:
    {type: "sign", cname: "a", seq: 0, token: "36289dcb55bc35aa6893f7557b7fc28c", expires: 30, sub_timeout: 10}

Close Channel

Request:
    http://127.0.0.1:8000/close?cname=$channel

Response:

Clear Channel Messages

Request:
    http://127.0.0.1:8000/close?cname=$channel

Response:

Get Channel Info

Request:
    http://127.0.0.1:8000/info
    http://127.0.0.1:8000/info?cname=$channel

Response:
    {"version": "0.2.2.1", "channels": 0, "subscribers": 0}
    {"cname": "a", "subscribers": 0}

Check Channel

Request:
    http://127.0.0.1:8000/check?cname=$channel

Response:
    {"a": 1}

Broadcast Message

Request:
    http://127.0.0.1:8000/broadcast?content=12345

Response:
    

 

posted @ 2016-09-30 23:45  Eric.YAO  阅读(284)  评论(0)    收藏  举报