社区
网络编程
帖子详情
客户端什么时候产生FD_READ
huanchunling
2010-11-05 11:51:58
我在server端一次发送了2百万个字节,send()函数也返回200万个字节,说明所有字节都发送成功了,我想知道在client低层缓冲区是在接受完所有的的字节后,才发送FD_READ,如果不是,那客户端什么时候发送的这个FD_READ呢
还有一个问题
send()到底一次能发送多少个字节的数据,我发送200百万可以,500百万也可以?
...全文
139
6
打赏
收藏
客户端什么时候产生FD_READ
我在server端一次发送了2百万个字节,send()函数也返回200万个字节,说明所有字节都发送成功了,我想知道在client低层缓冲区是在接受完所有的的字节后,才发送FD_READ,如果不是,那客户端什么时候发送的这个FD_READ呢 还有一个问题 send()到底一次能发送多少个字节的数据,我发送200百万可以,500百万也可以?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wocow3
2010-11-06
打赏
举报
回复
TCP?
recv()一般会在三种情况下返回
1。接收的TCP包带有PUSH标志;
2。接收缓冲区满;
3。0.5秒内没有收到更多数据;
huanchunling
2010-11-06
打赏
举报
回复
我一直搞不懂send 和 recv()函数的内部是怎么个逻辑,有没有什么好的文档可以介绍,
mayudong1
2010-11-05
打赏
举报
回复
client端只要有可读的数据就会有FD_READ消息
Eleven
2010-11-05
打赏
举报
回复
有数据到达
xgPaul
2010-11-05
打赏
举报
回复
客户端的接收缓冲区只要有数据就会响应FD_READ。。。
visualwind
2010-11-05
打赏
举报
回复
只要有数据到达就会FD_READ,如果你要想在接受完所有的的字节后才发送FD_READ的话,就只能自己封装一层了。
send一次发送多大都可以,到了底层会自动按MTU单元大小分包的,无论一次send发多少自己,实际发在网络上的数据包大小都是MTU的大小。
FD
_WRITE 和
FD
_
READ
的触发条件
FD
_WRITE触发条件: 1.client 通过connect(WSAConnect)首次和server建立连接时,在client端会触发
FD
_WRITE事件 2.server通过accept(WSAAccept)接受client连接请求时,在server端会触发
FD
_WRITE事件 3.send...
网络事件、消息中的
FD
_WRITE。
以前对于
FD
_WRITE是怎么触发的,相关书籍上虽然清楚的列出了三种条件,却也是看不太明了。... 我的程序中,接收的消息不多,是主要的四种:
FD
_ACCEPT 、
FD
_
READ
、
FD
_WRITE 、
FD
_CLOSE。程序开始,连
Linux下I/O多路转接之select --
fd
_set
Linux下I/O多路转接之select --
fd
_set
MFC 基于SOCKET 实现服务端
客户端
一对多
监听
FD
_ACCEPT|
FD
_
READ
|
FD
_CLOSE事件; 可选择和特定的已连接
客户端
通信; 通信数据和系统信息滚动显示。
客户端
: 指定服务器IP、端口,关闭和连接服务器; 监听
FD
_CONNECT|
FD
_
READ
|
FD
_CLOSE事件, 顺便做了...
socket select多路连接,及
fd
_set用法
fd
_set用法:https://blog.csdn.net/w00347190/article/details/100972645 /***********************************
fd
_set 用法: void
FD
_SET(int
fd
,
fd
_set *
fd
set);...void
FD
_ZERO(
fd
_set *
fd
.
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章