Tengo un problema con las bibliotecas boost asio. Intenté con éxito crear un socket entre un cliente y un servidor, esto implica la creación de resolvedores para especificar la IP y el puerto para el servidor (el servidor solo requiere el puerto) y otros objetos, pero, lo más importante, es necesario usar write
y read_some
como funciones para leer y escribir desde/en el socket. Realmente agradecería usar una secuencia, y esto es posible en Asio de refuerzo, pero eso es extraño ... En casi todos los ejemplos que usan flujos, para crear un servidor es necesario proporcionar un puerto, vale, hablemos del cliente ... lado del cliente, es necesario utilizar el constructor iostream para especificar las coordenadas para la conexión de la corriente, aquí está el código:Crear un iostream usando boost asio especificando ip y puerto
tcp::iostream() s(argv[1], "daytime");
Bueno, yo no entiendo muy bien lo que se aprobó en el primer parámetro y realmente no sé qué día podría representar alguna vez ... Básicamente, aquí estoy diciendo: "Oye la transmisión, debe conectarse a este servidor ...", pero ¿cómo puedo especificar la IP y el puerto de ese servidor? Tenga en cuenta que, por el contrario, todo lo que es del lado del servidor casi transparente:
boost::asio::io_service io_s;
tcp::acceptor acc(io_s, tcp::endpoint(tcp::v4(), 1950));
for (;;) {
tcp::iostream stream;
acc.accept(*stream.rdbuf());
stream << "Message" << std::endl;
}
Usando este modelo, me gustaría utilizar
stream << mymessage_to_send << std::endl;
stream >> a_string_containing_my_message;
con el fin de enviar y recibir. ¿Cómo puedo hacer esto? Muchas gracias.
bien, va a comprobar de inmediato ... Gracias – Andry
Eres libre de hacerme preguntas sobre mi implementación, si lo desea. ¡Buena suerte! –
Bueno, estoy intentando algunas cosas mirando tu código ... No tengo tanta experiencia como tú ... bueno, las preguntas van a llegar, ahora puedo decir: Código increíble !!!!! – Andry