腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
2
回答
在
c
中
使用
套接
字
时
,
FD_SET
和
FD_ISSET
背后的
数据结构
是
什么
?
、
、
在
使用
套接
字
时
,
FD_SET
和
FD_ISSET
宏背后的
数据结构
是
什么
?
浏览 0
提问于2009-04-01
得票数 4
2
回答
Windows posix
套接
字
性能
、
、
我们
在
unix上
使用
select()、
FD_ISSET
等,这非常快。
在
Windows上,这些API非常差。
FD_SET
的速度要慢得多,但即使
在
解决这个问题
时
,也要比HPUX慢得多。目前,我们将50%的时间(
和
CPU)花在select()上,而在unix上,花费
在
send()
和
recv()上的时间是我所期望的。 谢谢你,尼尔
浏览 0
提问于2011-05-11
得票数 1
回答已采纳
1
回答
Winsock2 select():可以
在
同一个
套接
字
上发生多个事件吗?
、
、
、
根据 SOCKET someRandomSocket;
FD_SET
writefds;
浏览 10
提问于2017-08-10
得票数 1
回答已采纳
1
回答
多客户端
套接
字
编程的select()函数
、
、
、
、
关于
套接
字
编程的I/O多路复用函数的select(),我有一个简单的问题。但是为
什么
呢?select函数对(或修改)原始fd集有
什么
改变? 谢谢。
浏览 1
提问于2013-12-05
得票数 0
1
回答
如何
使用
libreadline
在
socket上进行选择?
、
、
、
我正在编写一个
C
程序,它向用户呈现一个“伪终端”,用户可以在其中输入特殊命令,还需要监听来自UDP
套接
字
的数据。 int ret = select(s + 1, &fs, NULL, NUL
浏览 3
提问于2016-05-20
得票数 0
1
回答
select()返回1但
FD_ISSET
(fd)是否为false?
、
、
、
我遇到了这样一种情况:
在
传递的集合
中
,我用一个文件描述符调用select(),
在
TCP上的
C
++应用程序
中
,它返回1,之后不久,
在
代码
中
再次调用select(),并且
在
描述符上返回0或
FD_ISSET
(因此,我想知道,如果在两个调用之间没有从描述符
中
读取任何内容,那么select()能否从同一个文件描述符上返回1到0,在这种情况下发生
什么
情况?如果不是,那么select()是否可以返回1,然而<em
浏览 2
提问于2015-07-06
得票数 0
3
回答
C
:
使用
Select监视两个
套接
字
、
、
、
目前,我正在
使用
SOCK_STREAM
套接
字
上的accept连接新客户端。我希望能够接受客户端向服务器的SOCK_DGRAM
套接
字
发送数据图的查询。由于接受只是挂起直到客户端发送连接到该
套接
字
的请求,所以我需要一种方法来监视两个
套接
字
,直到一个接收到来自客户端的请求,然后能够处理该请求并返回到监视
套接
字
。我不需要立即处理这些请求(也就是说,如果客户端
在
另一个客户端请求之后发送一个查
浏览 6
提问于2015-03-31
得票数 2
回答已采纳
1
回答
客户端关闭连接
时
,send()不报告ENOTCONN (AS400)
、
、
这是
在
AS400上(IBM,iSeries等人)。 我有一个小的Java程序,用于将测试文件发送到用
C
++编写的服务器,该服务器也
在
IBM上运行。
在
服务器
中
,我随机休眠了0到10秒。当Java程序超时时,它抛出java.net.SocketTimeoutException,用.close()关闭
套接
字
并退出。服务器程序
在
休眠后继续运行,并调用send()。为
什么
?此外,
套接
字
上的inet_ntop(
浏览 0
提问于2017-01-10
得票数 0
2
回答
在
winsock2
中
使用
select
时
,直接遍历“readfds(Fdsets)”合适吗?
、
、
、
、
我正在学习winsock2
中
的select api。fdRead是包含所有能够读取的
套接
字
的fd_sets。我发现在大多数arcticle
中
,readfds不是直接遍历的。相反,fdSocket由
FD_ISSET
(
FD_ISSET
(fdSocket.fd_arrayi,&fdRead))遍历
和
判断。我已经尝试了这两种方法,并且都有效。所以我的问题是:为
什么
不直接遍历readfds呢?
fd_set
fdSocket; FD_ZE
浏览 5
提问于2020-10-05
得票数 1
2
回答
检查哪个
套接
字
响应了第一个
C
++
、
、
我必须检索
套接
字
的
套接
字
值,该
套接
字
值首先回答,但选择只返回1,0或-1。我如何编辑我的代码,这样我才能得到这个值?
fd_set
readSet;
FD_SET
(actionGuy, &readSet);
FD_SET
(actionAnotherGuy,
浏览 2
提问于2014-12-19
得票数 0
回答已采纳
2
回答
select()始终返回1;
c
++
中
TCP连接的
套接
字
故障
、
、
、
我
使用
select来决定何时进行连接尝试,以及客户端何时通过新创建的客户端
套接
字
(接受创建的
套接
字
)发送数据。因此,两个函数
和
两个选择-一个用于轮询专用于侦听连接的
套接
字
,一个用于轮询
在
新连接成功
时
创建的
套接
字
。第一种情况的行为正是我所期望的--只有在请求连接
时
,
FD_ISSET
才对侦听
套接
字
的id返回true
浏览 5
提问于2011-01-25
得票数 4
2
回答
C
中
接受UDP
和
TCP连接的服务器
、
、
我一直在用
C
开发一个可以接受UDP
和
TCP客户端连接的服务器。因此,我需要知道连接何时为UDP,何时为TCP。我已经把这两种情况分开处理了,它们都很好。我一直
在
寻找如何做到这一点,所有东西都指向select()函数,但我不知道如何
使用
它。有人能给我举个例子或者
什么
东西来接受udp
和
tcp连接吗..。我真的迷路了。 非常感谢..。
浏览 1
提问于2014-03-27
得票数 0
回答已采纳
2
回答
C
试图理解select()
和
FD_ISSET
()
、
我试图做一个基本的非阻塞聊天客户端,但我不能真正理解select()
和
FD_ISSET
()。我试着听下面代码的
套接
字
,但是它不能工作,它
什么
都不打印,为
什么
不呢?netdb.h>#include <sys/types.h> { comm
浏览 2
提问于2014-10-19
得票数 0
回答已采纳
2
回答
在线程中
使用
select()不会对主机断开连接做出反应
、
、
、
、
我有主服务器代码,它
使用
select
和
waits for hosts活动。我也有全局结构,它存储所有客户端和它们的
套接
字
。当客户端阵列
中
的一个主机断开连接
时
,
在
主线程中选择解除锁定。然后我尝试读取数据,当它为0
时
,客户端断开连接。为
什么
在线程中选择不能以同样的方式工作?当客户端交换数据
时
,它工作得很完美,但当其中一个客户端断开连接
时
,没有任何反应。 编辑。\n&qu
浏览 4
提问于2020-06-07
得票数 2
3
回答
如何只遍历select()的
fd_set
结果
中
的活动文件描述符?
、
、
因此,
在
我目前的服务器实现
中
,它目前是这样的: // step 1: clear set return; loop through sockets and check, using
FD_ISSET
, which read fd's h
浏览 0
提问于2011-03-29
得票数 6
回答已采纳
2
回答
启用非阻塞
套接
字
、
、
、
我有一个用
C
/
C
++编写的服务器。fds;struct timeval tv;FD_ZERO(&fds);//我尝试过执行fcntl(retv,F_SETFL,O_NONBLOCK);像Beej手册said那样的,但是我收到了错误:接受资源暂时不可用解决这个问题的解决方案是
使用
选择函数,但是我已经
在
recvtimeout
浏览 7
提问于2012-05-29
得票数 0
回答已采纳
2
回答
如何在write_fds中正确设置标志并在
C
中选择()
、
、
、
当send()缓冲区已满
时
,我
在
write_fds
中
为给定的
套接
字
设置了一个标志,下一次迭代尝试通过检查write_fds是否设置来发送它。 它可以很好地为一个
套接
字
在
write_fds
中
设置标志。但是,如果我为多个
套接
字
执行
FD_SET
(i, write_fds)操作,则只有最后一个
套接
字
显示为set,而只有最后一个
套接
<em
浏览 1
提问于2016-06-15
得票数 0
回答已采纳
3
回答
从一组
套接
字
中
检测超时
套接
字
、
、
、
、
我目前正在
使用
winsock构建一个服务器。我的服务器将处理多个客户机,所以我
使用
select()函数以及读、写
和
异常集。我已经知道,如果某个
套接
字
超时,select()将返回0。但是,我如何识别超时的实际
套接
字
呢? 顺便说一句,谁能告诉我Some_Socket需要做些
什么
才能让
FD_ISSET
(Some_Socket,&Exception)返回true?也许我可以
使用
上面的函数来检查集合
中
浏览 3
提问于2013-01-17
得票数 1
1
回答
为
什么
选择-行为不同时,试图读取
和
写入
套接
字
?
、
、
、
、
中
设置这个文件描述符:
fd_set
writefds; FD_ZERO(readfds);
FD_SET
(client_socket, &readfds);现在,我们
使用
select检查
套接
字<
浏览 1
提问于2022-03-16
得票数 0
回答已采纳
1
回答
了解用于接收UDP消息
和
打开TCP
套接
字
的Select循环
、
、
、
、
3)节点B接收udp消息,随机选择端口号,
在
该端口上打开侦听tcp
套接
字
,并将具有端口号的udp消息发送回A。4)节点A接收udp消息,并在该tcp端口上打开到节点B的连接。这部分看起来很简单,但我并不真正理解如何将侦听
套接
字
添加到文件描述符列表
中
。下面的代码是我放在一起的,我想知道基本结构看起来是否正确?我真的不知道如何创建侦听tcp
套接
字
并将其添加到fd列表
中
?udp socketFD_ZERO(
浏览 2
提问于2012-12-06
得票数 2
回答已采纳
点击加载更多
相关
资讯
打造一款属于自己的远程控制软件一
网络编程基础漫谈(三)之 select 函数重难点解析 甲篇
网络编程基础漫谈(三)之 select 函数重难点解析 乙篇
并发服务器(三):事件驱动
并发服务器:Redis案例研究
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券