1212#include < mutex>
1313#include < condition_variable>
1414#include < string>
15-
1615#ifdef WIN32
1716#define HIGHLIGHT (__O__ ) std::cout<<__O__<<std::endl
1817#define EM (__O__ ) std::cout<<__O__<<std::endl
@@ -72,7 +71,7 @@ socket::ptr current_socket;
7271
7372void bind_events (socket::ptr &socket)
7473{
75- current_socket->on (" new message" , [&](string const & name, message::ptr const & data, bool isAck,message::ptr &ack_resp)
74+ current_socket->on (" new message" ,(sio::socket::event_listener_aux) [&](string const & name, message::ptr const & data, bool isAck,message::ptr &ack_resp)
7675 {
7776 _lock.lock ();
7877 string user = data->get_map ()[" username" ]->get_string ();
@@ -81,7 +80,7 @@ void bind_events(socket::ptr &socket)
8180 _lock.unlock ();
8281 });
8382
84- current_socket->on (" user joined" , [&](string const & name, message::ptr const & data, bool isAck,message::ptr &ack_resp)
83+ current_socket->on (" user joined" , (sio::socket::event_listener_aux) [&](string const & name, message::ptr const & data, bool isAck,message::ptr &ack_resp)
8584 {
8685 _lock.lock ();
8786 string user = data->get_map ()[" username" ]->get_string ();
@@ -92,7 +91,7 @@ void bind_events(socket::ptr &socket)
9291 HIGHLIGHT (user<<" joined" <<" \n there" <<(plural?" are " :" 's " )<< participants<<(plural?" participants" :" participant" ));
9392 _lock.unlock ();
9493 });
95- current_socket->on (" user left" , [&](string const & name, message::ptr const & data, bool isAck,message::ptr &ack_resp)
94+ current_socket->on (" user left" ,(sio::socket::event_listener_aux) [&](string const & name, message::ptr const & data, bool isAck,message::ptr &ack_resp)
9695 {
9796 _lock.lock ();
9897 string user = data->get_map ()[" username" ]->get_string ();
@@ -108,7 +107,7 @@ MAIN_FUNC
108107
109108 sio::client h;
110109 connection_listener l (h);
111- current_socket = h. socket ();
110+
112111 h.set_open_listener (std::bind (&connection_listener::on_connected, &l));
113112 h.set_close_listener (std::bind (&connection_listener::on_close, &l,std::placeholders::_1));
114113 h.set_fail_listener (std::bind (&connection_listener::on_fail, &l));
@@ -119,14 +118,15 @@ MAIN_FUNC
119118 _cond.wait (_lock);
120119 }
121120 _lock.unlock ();
121+ current_socket = h.socket ();
122122Login:
123123 string nickname;
124124 while (nickname.length () == 0 ) {
125125 HIGHLIGHT (" Type your nickname:" );
126126
127127 getline (cin, nickname);
128128 }
129- current_socket->on (" login" , [&](string const & name, message::ptr const & data, bool isAck,message::ptr &ack_resp){
129+ current_socket->on (" login" , (sio::socket::event_listener_aux) [&](string const & name, message::ptr const & data, bool isAck,message::ptr &ack_resp){
130130 _lock.lock ();
131131 participants = data->get_map ()[" numUsers" ]->get_int ();
132132 bool plural = participants !=1 ;
0 commit comments