From 7d4e5b4b697e6afe92aced38d57583f5e5c23208 Mon Sep 17 00:00:00 2001 From: melode11 Date: Mon, 20 Apr 2015 00:35:24 +0800 Subject: [PATCH] refine readme --- README.md | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index f394ee3..1bd85f3 100755 --- a/README.md +++ b/README.md @@ -52,6 +52,8 @@ h.connect("http://127.0.0.1:3000"); Emit a event ```C++ +//emit event name only: +socket->emit("login"); //emit text h.socket()->emit("add user", username); //emit binary @@ -61,6 +63,10 @@ h.socket()->emit("add user", std::make_shared(&buf,100)); h.socket()->emit("add user", string_message::create(username), [&](message::ptr const& msg) { }); +//emit with `message::list` +message::list li("arg1"); +li.push(string_message::create("arg2")); +socket->emit("new va",li);// support io.on("new va",function(arg1,arg2){}); style in server side. ``` Bind a event @@ -114,30 +120,10 @@ Sockets are all managed by `client`, no public constructors. You can get it's pointer by `client.socket(namespace)`. #### Event Emitter -`void emit(std::string const& name, message::list const& msglist = nullptr, std::function const& ack = nullptr)` -Universal event emition interface, backward compatible with all previous `emit` interfaces, can be used with multiple styles: +`void emit(std::string const& name, message::list const& msglist, std::function const& ack)` + +Universal event emition interface, by applying implicit conversion magic, it is backward compatible with all previous `emit` interfaces. -```C++ -//emit event name only: -socket->emit("login"); -//emit with plain text: -socket->emit("new message",text); -//emit with single binary -std::shared_ptr voice_buf = std::make_shared(); -... -socket->emit("new voice",voice_buf); -//emit with message object and requires an ack. -message::ptr array = array_message::create(); -array->get_vector().push_back(string_message::create("item1")); -array->get_vector().push_back(string_message::create("item2")); -socket->emit("new arr",array,[](message::ptr const& ack_message){ - //handle ack -}); -//emit with `message::list` -message::list li("arg1"); -li.push(string_message::create("arg2")); -socket->emit("new va",li);// support io.on("new va",function(arg1,arg2){}); style in server side. -``` * Items in `message::list` will be expanded in server side event callback function as function arguments. #### Event Bindings