Server API:
-
Authentication
Request: {"type": "auth", "username": "abc", "password": "123"}
Response: {"result": "ok"} if success, {"result": "fail"} if fail.
-
Send Message
Request: {"type": "message", "from": "myname", "to": "targetname", "msg":"messages..."}
Response: {"result":"ok"} if success, {"result": "some fail reason"} if fail.
-
Broadcast
Request: {"type": "broadcast", "from": "myname", "msg":"messages..."}
Response: {"result":"ok"} if success, {"result": "some fail reason"} if fail.
-
Online list
Request: {"type": "online"}
Response: {"user1":"user1", "user2":"user2", ...}
-
Block
Request: {"type": "block", "from": "myname", "target": "baduser"}
Response: {"result": "ok"} if success, {"result": "fail"} if fail.
-
Unblock
Request: {"type": "unblock", "from": "myname", "target": "baduser"}
Response: {"result": "ok"} if success, {"result": "fail"} if fail.
-
Logout
Request: {"type": "logout", "from": "myname"}
Response: {"result": "ok"} if success, {"result": "fail"} if fail.
-
Get Address
Request: {"type": "address", "from": "myname", "target": "targetuser"}
Response: {"result" : "ok", "ip": "192.168.1.1", "port":"123"} if success, {"result" : "fail", "ip": "null", "port":"null"} if failed
-
Life Keeper
Request: {"type": "alive", "from": "username"}
Response: {"result": "ok"}
Client p2p API:
-
Send Message
Request: {"type": "message", "from": "myname", "to": "targetname", "msg":"messages..."}
Response: {"result":"ok"} if success, {"result": "some fail reason"} if fail.
-
Being notified offline
Request: {"type": "offline", "from": "offline user"}
Response: {"result":"ok"} if success, {"result": "some fail reason"} if fail.
-
Kill the user
Request: {"type": "kill", "reason": "you have logged in at another place."}
Response: {"result":"ok"} if success, {"result": "some fail reason"} if fail.
-
Need IP
Request: {"type": "ip", "from":"user"}
Response: {"result":"ok"} if success, {"result": "rej"} if fail.