首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问下select可写的有关问题,求解答

2013-11-23 
请教下select可写的问题,求解答对于select来说,可读比较好理解,只要对方发信息过来了就是可读的,但是假如

请教下select可写的问题,求解答
对于select来说,可读比较好理解,只要对方发信息过来了就是可读的,但是假如我要使用客户端与服务端对话,可能是客户端先写,也可能是服务端先写,也可能是一方一直发信息,这个可写是如何判断的?我输入的代码要放到哪里?是不是只要连接上的socket都认为是可写的?只要FD_SET(socket,&writefds);则每次检查if(FD_ISSET(socket,&writefds))都会为真?那我的输入行代码要写在哪?怎么判断输入完毕?像下面那样:


if(FD_ISSET(socket,&writefds))
{
      cin>>buff;//如果每次都为真如何判断他是否要写?如果他要写自然就OK,但是如果他不写不就阻塞了?
}


[解决办法]
总有block的时候,不管是fd还是socket,你的代码测试不算什么。

我曾经也这样想过,也写过测试代码;后来才发现系统loading不到一定程度,是看不出来的。

热点排行