Skip to content

Commit 7d4e5b4

Browse files
committed
refine readme
1 parent 5d89fa0 commit 7d4e5b4

File tree

1 file changed

+9
-23
lines changed

1 file changed

+9
-23
lines changed

README.md

+9-23
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ h.connect("http://127.0.0.1:3000");
5252

5353
Emit a event
5454
```C++
55+
//emit event name only:
56+
socket->emit("login");
5557
//emit text
5658
h.socket()->emit("add user", username);
5759
//emit binary
@@ -61,6 +63,10 @@ h.socket()->emit("add user", std::make_shared<std::string>(&buf,100));
6163
h.socket()->emit("add user", string_message::create(username), [&](message::ptr const& msg)
6264
{
6365
});
66+
//emit with `message::list`
67+
message::list li("arg1");
68+
li.push(string_message::create("arg2"));
69+
socket->emit("new va",li);// support io.on("new va",function(arg1,arg2){}); style in server side.
6470
```
6571
6672
Bind a event
@@ -114,30 +120,10 @@ Sockets are all managed by `client`, no public constructors.
114120
You can get it's pointer by `client.socket(namespace)`.
115121
116122
#### Event Emitter
117-
`void emit(std::string const& name, message::list const& msglist = nullptr, std::function<void (message::ptr const&)> const& ack = nullptr)`
118-
Universal event emition interface, backward compatible with all previous `emit` interfaces, can be used with multiple styles:
123+
`void emit(std::string const& name, message::list const& msglist, std::function<void (message::ptr const&)> const& ack)`
124+
125+
Universal event emition interface, by applying implicit conversion magic, it is backward compatible with all previous `emit` interfaces.
119126
120-
```C++
121-
//emit event name only:
122-
socket->emit("login");
123-
//emit with plain text:
124-
socket->emit("new message",text);
125-
//emit with single binary
126-
std::shared_ptr<std::string> voice_buf = std::make_shared<std::string>();
127-
...
128-
socket->emit("new voice",voice_buf);
129-
//emit with message object and requires an ack.
130-
message::ptr array = array_message::create();
131-
array->get_vector().push_back(string_message::create("item1"));
132-
array->get_vector().push_back(string_message::create("item2"));
133-
socket->emit("new arr",array,[](message::ptr const& ack_message){
134-
//handle ack
135-
});
136-
//emit with `message::list`
137-
message::list li("arg1");
138-
li.push(string_message::create("arg2"));
139-
socket->emit("new va",li);// support io.on("new va",function(arg1,arg2){}); style in server side.
140-
```
141127
* Items in `message::list` will be expanded in server side event callback function as function arguments.
142128
143129
#### Event Bindings

0 commit comments

Comments
 (0)