Tôi đã cố gắng đạt được điều đó cho phần tốt hơn trong ngày, tôi thành thật xin giúp đỡ. Cả hai ứng dụng của tôi, máy khách và máy chủ đều bắt đầu ném "ngoại lệ vector ra khỏi phạm vi" ngoại lệ.Làm cách nào để gửi std :: vector <char> bằng Boost :: Asio?
Làm cách nào để thực hiện điều này đúng cách?
Vẫn đang cố gắng tìm ra điều này, bất kỳ ai?
Theo như tôi đã hiểu tôi dự định tạo ra một
boost::asio::basic_stream_socket stream;
Và sau đó gọi:
stream.send(boost::asio::buffer(data));
?
Tôi cho rằng hoàn toàn có thể làm điều đó một cách không đồng bộ? Sự khác biệt giữa: basic_stream_socket::send()
so với basic_stream_socket::write_some()
so với basic_stream_socket::async_write_some()
là gì?
basic_stream_socket::receive()
so với baic_stream_socket::read_some()
so với basic_stream_socket::async_read_some()
?
Tôi giả định rằng send()
& là các phương thức mà tôi có thể gọi khi tôi muốn đảm bảo rằng 100% dữ liệu được gửi/nhận - với chi phí chặn socket?
Tôi giả định rằng write_some()
& read_some()
là các phương pháp mà tôi có thể gọi khi tôi không chắc liệu 100% dữ liệu được gửi/nhận - trong khi vẫn chặn ổ cắm?
Tôi giả định rằng async_read_some()
& async_write_some()
là các phương pháp không chặn ổ cắm và họ đọc/ghi những gì có thể?
bạn có thể hiển thị một số mã không? – Naveen
Bạn nên thêm thông tin thêm vào thân câu hỏi hoặc dưới dạng nhận xét thay vì trả lời câu hỏi của riêng bạn bằng câu hỏi. Nếu bạn cần thiết lập mọi thứ từ đầu, vui lòng cung cấp một số ngữ cảnh (ví dụ: đây là ổ cắm TCP, cổng nối tiếp RS-232, v.v ...). –
Đã xóa q "Không, tôi chưa làm - làm cách nào để làm điều đó?" - không chắc chắn những gì áp dụng cho, nhưng nó là tốt hơn để cập nhật các câu hỏi (hoặc để lại ý kiến khi bạn nhận được đủ đại diện). –