J'ai essayé d'atteindre cet objectif pendant la plus grande partie de la journée, sincèrement j'apprécie toute aide. Mes deux applications, le client et le serveur ont commencé à lancer des exceptions "indice de vecteur hors de portée". Comment faire une chose correctement?Comment envoyer un fichier std :: vector <char> en utilisant Boost :: Asio?
Vous essayez toujours de comprendre cela?
Pour autant que j'undestand je suis censé créer un
boost::asio::basic_stream_socket stream;
Et puis appelez:
stream.send(boost::asio::buffer(data));
?
Je suppose qu'il est parfaitement possible de le faire de manière asynchrone? Quelles sont les différences entre: basic_stream_socket::send()
par rapport à basic_stream_socket::write_some()
par rapport à basic_stream_socket::async_write_some()
?
basic_stream_socket::receive()
par rapport à baic_stream_socket::read_some()
par rapport à basic_stream_socket::async_read_some()
?
Je suppose que send()
& sont des méthodes que je peux appeler quand je veux vous assurer que 100% des données sont envoyées/reçues - au détriment de bloquer la prise?
Je suppose que write_some()
& read_some()
sont des méthodes que je peux appeler quand je ne suis pas sûr à 100% des données sont envoyées/reçues - tout en bloquant la prise?
Je suppose que async_read_some()
& async_write_some()
sont des méthodes qui ne bloquent pas le socket et ils lisent/écrivent tout ce qu'ils peuvent?
pouvez-vous montrer du code? – Naveen
Vous devez ajouter des informations supplémentaires au corps de la question ou sous la forme de commentaires au lieu de répondre à votre question avec des questions. Si vous devez tout configurer à partir de zéro, veuillez fournir un contexte (par exemple, une prise TCP, un port série RS-232, etc.). –
Supprimé q "Non, je n'ai pas - comment je fais ça?" - Je ne sais pas à quoi cela s'applique, mais il est préférable de mettre à jour la question (ou laisser des commentaires lorsque vous avez assez de rep). –