Ich habe versucht, das für den besseren Teil des Tages zu erreichen, ich würde wirklich jede Hilfe schätzen. Beide meiner Apps, der Client und der Server, haben begonnen, Ausnahmen vom "Vektor-Index außerhalb des Bereichs" zu werfen.Wie sende ich ein std :: vector <char> mit Boost :: Asio?
Wie macht man das Ding richtig?
Noch versucht, herauszufinden, wer?
Soweit ich ich soll undestand eine
boost::asio::basic_stream_socket stream;
Und dann rufen erstellen:
stream.send(boost::asio::buffer(data));
?
Ich nehme an, es ist vollkommen möglich, es asynchron zu tun? Was sind die Unterschiede zwischen: basic_stream_socket::send()
vs basic_stream_socket::write_some()
vs basic_stream_socket::async_write_some()
?
basic_stream_socket::receive()
vs. vs. basic_stream_socket::async_read_some()
?
Ich gehe davon aus, dass send()
& Methoden, die ich anrufen kann, wenn ich, dass 100% der Daten sicherstellen möchten, wird gesendet/empfangen - auf Kosten der Buchse blockiert?
Ich gehe davon aus, dass write_some()
& read_some()
Methoden, die ich anrufen kann, wenn ich nicht sicher, ob 100% der Daten bin/empfangen wird gesendet - während immer noch den Sockel blockiert?
Ich nehme an, dass async_read_some()
& async_write_some()
sind Methoden, die den Sockel nicht blockieren und sie lesen/schreiben, was auch immer sie können?
können Sie etwas Code anzeigen? – Naveen
Sie sollten dem Fragetext selbst oder in Form von Kommentaren weitere Informationen hinzufügen, anstatt Ihre eigene Frage mit Fragen zu beantworten. Wenn Sie alles von Grund auf einrichten müssen, stellen Sie bitte einen Kontext bereit (z. B. ein TCP-Socket, eine serielle RS-232-Schnittstelle usw.). –
Gelöscht q "Nein, ich habe nicht - wie mache ich das?" - Ich bin mir nicht sicher, worauf es sich bezieht, aber es ist besser, die Frage zu aktualisieren (oder Kommentare zu hinterlassen, wenn Sie genügend Wiederholungen erhalten). –