c – Boost.Asio – 确保对方收到数据
发布时间:2020-12-16 07:34:36 所属栏目:百科 来源:网络整理
导读:我正在使用boost :: asio并将一个列表发送到客户端并在完成时关闭套接字.不知何故,客户端在收到所有内容之前有时会收到End of File错误. 我猜这与发送最后一个列表条目后关闭套接字的服务器有关.有没有一种简单的方法来解决这个async_send只有在数据成功发送
我正在使用boost :: asio并将一个列表发送到客户端并在完成时关闭套接字.不知何故,客户端在收到所有内容之前有时会收到End of File错误.
我猜这与发送最后一个列表条目后关闭套接字的服务器有关.有没有一种简单的方法来解决这个async_send只有在数据成功发送后调用处理程序? 或者我的文件结束错误来自其他东西? 解决方法
Boost.Asio是TCP和UDP套接字上独立于操作系统的抽象层.它们不保证其他应用程序已接收和处理数据.您需要在应用程序中包含此逻辑,您可能需要学习
OSI model.
如果在async_send()返回后立即关闭套接字,则这是不正确的.只有在调用完成处理程序后才应关闭它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |