双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

connect后,系统缓冲区未满,怎样触发OnSend时间?

netree netree 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
FD_WRITE是由connect和send触发的,当connect成功后,系统会发FD_WRITE消息通知你“连接成功,此时可以发送数据”;
当你调用send 后,如果发生WSAEWOULDBLOCK错误,系统就知道你还有数据要发送,但此时缓冲区已满,所以系统会在适当的时候(缓冲区空闲)发FD_WRITE 通知你“此时可以继续发送上次没发完的数据”,直到你某次调用send后未发生WSAEWOULDBLOCK错误,系统知道你的数据已经发完,之后就不通知你了。

我的程序要传送一个很小的内容,比如是用户名,当我connect后,怎么触发OnSend时间。(这时OnSend不会自动触发,因为我的缓冲区没满。)
...全文
评论 7
收藏 已收藏
分享
返回顶部
netree
网络编程 18,356 成员 64,161 内容