Synchronization server:
Boost: timer tm;
Io_service is;
Ip: tcp: acceptor (is, ip: tcp: endpoint (ip: tcp: v4 (), 8000 ));
For (;;){
Ip: tcp: socket so (is );
Acceptor. accept (so );
Char buf [501];
Error_code ec;
So. read_some (buffer (buf), ec );
Buf [500] = '\ 0 ';
Cout <buf <endl;
Cout <"all time:" <tm. elapsed () <endl;
}
Synchronization client:
Io_service is;
Ip: tcp: socket (is );
Ip: tcp: endpoint ep (ip: address_v4: from_string ("192.168.3.33"), 8000 );
Socket. connect (ep );
Error_code ec;
Char buff [500];
Memset (buff, '9', 500 );
Socket. write_some (buffer (buff, 500), ec );
Return NULL;
Asynchronous Server:
Io_service is;
Ip: tcp: acceptor ac (is, ip: tcp: endpoint (ip: tcp: v4 (), 8000 ));
Boost: shared_ptr <ip: tcp: socket> psocket (new ip: tcp: socket (is ));
Ac. async_accept (* psocket, boost: bind (accept_f, psocket, _ 1 ));
Is. run ();
Void accept_f (boost: shared_ptr <ip: tcp: socket> pso, error_code ec)
{
Std: cout <pso-> remote_endpoint (). address () <std: endl;
Boost: shared_ptr <string> pstr (new string ("999999999999999999999999 "));
Psocket-> async_write_some (buffer (* pstr), boost: bind (write_f, pstr, _ 1, _ 2 ));
}
Void write_f (boost: shared_ptr <std: string> pstr, error_code ec,
Size_t bytes_transferred)
{
}
Source