2011-10-06 2 views
2

socket::async_send()socket::async_write_some()을 0 번 이상 호출하는 termos로 구현 된 작성된 메서드입니다. 그러나 documentation은 다음과 같이 설명합니다.boost :: asio 언제 async_write 대신 free :: async_send를 사용해야합니까?

송신 작업이 모든 데이터를 피어로 전송하지 못할 수 있습니다.

그래서 언제 이러한 동작이 필요합니까?

+0

감사합니다. 당신이 링크 한 문서는 저에게 큰 도움이되었습니다. –

답변

1

소켓에 관한 정보가 파열되고 정보의 일부가 일회용입니다.

+0

나는 이것이 정확하다고 생각하지 않는다. 아무 데이터도 실제로 삭제되지 않는다. "... 비동기 작업이 완료되기 전에 모든 데이터가 ** 기록되도록해야한다면 **." 일부는 나중에 보내질 수도 있습니다. – Riot

+0

"비동기 작업이 완료되었습니다"= 사용자 처리기가 호출 될 때? – Guillaume07