boost - 如果在套接字刚刚向远程端发送消息时调用 boost::asio::ip::tcp::socket::cancel() ,为什么会发生这种情况?
问题描述
根据官方文件,它说
basic_stream_socket::cancel 导致所有未完成的异步连接、发送和接收操作立即完成。
但是没有说没有发出去的数据去哪了?我必须重新发送整个消息吗?或者只是重新发送尚未发送的数据(在这种情况下,我怎么知道发送了多少字节,没有发送多少字节?)?
而且我知道这个 API 只会取消在当前线程中发起的异步操作。
解决方案
推荐阅读
- python - Pycharm 静态类型检查器失败
- python - 如何在 django 中按品牌或类别过滤产品
- angular - 如何测试量角器中的角度分量?
- arrays - 康威生命游戏的 ANSI C 实现
- amazon-web-services - Terraform cidrsubnet 功能故障排除
- ffmpeg - ffmpeg concat 带有自己音频的视频并添加音轨 50% 音量
- python-3.x - 在二叉树中搜索一个节点
- context-free-grammar - 简化 CFG:S -> SS | (S) | ε
- html - 在 Wordpress 中将 HTML 按钮居中对齐
- sql-server - 消息 102,级别 15,状态 1,第 3 行使用 sp_executesql 的“”附近的语法不正确