在select模型中,如何知道发送缓冲区有数据? 我最近在看一个程序,服务器端使用select来监听与客户端的套接字,当客户端有数据来时,程序将数据存入到一个buffer里,然后在下次select循环里,它将buffer里的数据发送到客户端,请问select是如何检测到发送缓冲区有数据的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 也就是说select在下次循环里测试到了发送端有数据发送,请问select对发送缓冲区的检测的原理是什么呢? 这个只是一个IO模型,都是由操作系统处理的,系统接检测到有事件然后通知窗口去响应。你可以看看这个http://blog.csdn.net/normalnotebook/archive/2006/07/30/999840.aspx写的不错。 在select循环里检测到客户端数据来,处理完后,将待发数据存放到自己定义的buffer里面,然后下次循环select就判断有数据要写,还是不明白它怎么知道我有数据要发送,我只是把数据放在自己定义的buffer里面,是不是跟keepalive有联系呢?这是别人写的程序,这一点让我很疑惑。难道自己不实现一种通知机制,它自己就知道用户有数据要发送? 总结并顺带问几个srollinfo的问题 线程中循环获取局域网IP地址问题 VC++MFC如何鼠标移动到按钮时,改变按钮的位图,请大神们指点啊! IOCP内存的问题 _variant_t 类型问题 能不能用MSDN Express 查看Win32API 如何实现象“组态王”之类的软件功能? 带进度条显示控制的无模式对话为何不能Move? 多个客户端,服务器端SOCKET接收数据出错的问题 显示图片中界面刷新问题 我的状态条怎么有资源泄露 [简单问题]在CString变量中如何提取我需要的字符串
你可以看看这个
http://blog.csdn.net/normalnotebook/archive/2006/07/30/999840.aspx
写的不错。