c++ - How to connect/disconnect from a server? -


I am using the latest version of promotion and promotion.
I have this class:

  IPvarson {IPv4, IPv6}; Template & lt; IPVersion version = IPv4> Class Connection {Private: Promotion :: ASIO :: io_service io_service; Boost :: asio :: ip :: tcp :: relay resolver; Boost :: asio :: ip :: tcp :: Resolver :: query query; Boost :: asio :: ip :: tcp :: Resolter :: Itater Iterator; Public: Connection (std :: string host, std :: string port); Virtual Zero Connect () {iterator = resolver.resolve (query); } // Is this the moment where the client actually joins? Virtual Zero Disconnect () {/ * What goes here? *}};  

Should I call io_service :: stop () and then my connection :: connect () call Io_service should call:: Reset ()

before solving the query Generally, once you call io_service :: run , often call io_service :: stop or io_service :: reset There are some reasons for this.

In your code given above, connect method not is actively establishing a connection - tcp :: resolver: : Resolve changes only a query in a TCP endpoint (such as hostname, or an IP address etc.) that can be used to connect to the socket. You usually need an identifier returned by resolver :: resolution and it's a boost :: asio :: ip :: tcp :: socket Connect to the method (or one of the asynchronous varieties) to connect a finishing point.

Asio Tutorial is a good example of this. First synchronous TCP day time server example here:. Note that the code runs first:

  tcp :: resolver :: iterator endpoint_iterator = resolver.resolve (query);  

To convert a query object to a TCP endpoint, and then:

  socket.connect (* endpoint_iterator ++, error);  

To connect the socket object to that end point.

What should be done in your disconnected method, it is entirely up to the application. But usually you will need to keep track of an active connection by encoding a socket object, which you can turn off when calling at disconnect . For an example of this, look for the tutorial titled "Dietite 3 - A Asynchronous TCP Daytime Server" at:


Comments