客户端能否不停的Send,而不Recv?在线等

ezdevelop 2007-11-20 04:47:15
非阻塞SOCKET,超时时间为2秒。

while (true) {
sock->send();
sock->recv(),若超时,则继续循环send->recv...send->recv
}

返回的数据不重要,所以设置recv的超时时间为2秒。
...全文
154 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jarrylogin 2007-11-20
  • 打赏
  • 举报
回复
干吗这样做呢,你开一个线程定时通过SOCKET发送数据不就可以了吗?,不用管收不收到数据
socrates 2007-11-20
  • 打赏
  • 举报
回复
可以的,支持楼上观点!
lwykj 2007-11-20
  • 打赏
  • 举报
回复
接收 数据 是系统帮你完成的! recv只是你从你的系统缓冲里面把数据取出来!
所以 如果send的数据 跟 recv的数据没关系 那是无所谓的吧!
20YC编程 2007-11-20
  • 打赏
  • 举报
回复

如果不是出于学习SOCKET基本编程目的, 网络编程也许已经没必要这么复杂了; 介绍一个更简单的编写方式;

http://topic.csdn.net/u/20071120/17/1f3f093d-bd6b-4fa7-a7bb-be0744a42767.html
ezdevelop 2007-11-20
  • 打赏
  • 举报
回复
我也想随便接收下,可是必须使recv的超时时间尽量短,就怕因为recv超时,没接收成功,后面的发送会失败
20YC编程 2007-11-20
  • 打赏
  • 举报
回复

如果不是出于学习SOCKET基本编程目的, 网络编程也许已经没必要这么复杂了; 介绍一个更简单的编写方式;

http://topic.csdn.net/u/20071120/17/1f3f093d-bd6b-4fa7-a7bb-be0744a42767.html
tiger波波 2007-11-20
  • 打赏
  • 举报
回复
返回的数据不重要,所以设置recv的超时时间为2秒。
--------------------
不重要的话,随便接受下也无所谓,省得出问题,反正又不作处理,
僵哥 2007-11-20
  • 打赏
  • 举报
回复
个人建议,做有连接通讯就应该做成一个完整的双向回路。是否处理是业务上面的问题。
zhoujianhei 2007-11-20
  • 打赏
  • 举报
回复
那要看你服务器发没发数据了。
僵哥 2007-11-20
  • 打赏
  • 举报
回复
一个是发送超时,另一个则是数据堆积消耗内存,毕竟超时的时间还是相当长的。
ezdevelop 2007-11-20
  • 打赏
  • 举报
回复
服务器端也是非阻塞的,不过客户端不接收的话,会不会导致发送也会失败?
僵哥 2007-11-20
  • 打赏
  • 举报
回复
可或者不可以,这个相关系到服务器的设计,如果你不接收,则可能导致服务器的数据无法发出,如果服务器是设计成阻塞模式的,那么你也无法得到正常的服务。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧