社区
网络编程
帖子详情
问个关于select的问题(socket)
chchch
2003-08-21 03:51:30
有个问题啊,比如Accept和Recv,阻塞方式下,程序就会停到那里啊,那我怎么在线程内部关闭线程能.就算是设置了全局变量,也没有办法啊
还有就是那位高手能告诉我select怎么用啊,WSAASyncSelect我知道的,select的那几个参数我没看明白,也不知道select的作用是什么
另外,怎样在Accept和Recv之前能得到端口的状态呢?比如是否有connect请求或者数据要求接受的,然后我在调用相应函数接受,避免卡死
...全文
40
2
打赏
收藏
问个关于select的问题(socket)
有个问题啊,比如Accept和Recv,阻塞方式下,程序就会停到那里啊,那我怎么在线程内部关闭线程能.就算是设置了全局变量,也没有办法啊 还有就是那位高手能告诉我select怎么用啊,WSAASyncSelect我知道的,select的那几个参数我没看明白,也不知道select的作用是什么 另外,怎样在Accept和Recv之前能得到端口的状态呢?比如是否有connect请求或者数据要求接受的,然后我在调用相应函数接受,避免卡死
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
peter115
2003-08-21
打赏
举报
回复
select第一个参数可以被忽略,只是为了BSDSocket兼容,第二个参数表示检测可读的记录集,表示有数据可以读取的时候或者连接已经关闭的时候,第三个参数表示检测检测可写的记录集,表示发送数据缓冲区有数据可以发送,第四个参数监测所有异常情况的记录集,最后表示监测记录集的时间,如果设为NULL为阻塞,也可以设置为一个监测的超时值,在时间到以后
select返回0
feeboby
2003-08-21
打赏
举报
回复
挺在Accept Recv的地方啊
select用法看msdn
Socket
编程系列之1:Linux-API网络编程入门实战
Socket
编程系列初步计划:
Socket
编程系列之1: Linux-API 网络编程入门实战
Socket
编程系列之2: Windows-API 网络编程入门实战
Socket
编程系列之3: Muduo 网络编程入门实战
Socket
编程系列之4: Libevent 网络编程入门实战
Socket
编程系列之5: Libcurl 网络编程入门实战
Socket
编程系列之6: Boost-ASIO 网络编程入门实战----------------------------------------------------
Socket
编程系列之1:Linux-API网络编程入门实战Linux编程环境Linux文件系统TCP/IP协议简介应用层协议简介TCP网络编程基础IO复用机制UDP网络编程基础UDP单播多播广播套接字选项原始套接字与洪水攻击网络服务器选型分析http手撕代码与流程TCP滑动窗口机制分析
socket
编程之
select
1.
socket
阻塞模式所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回2.
socket
非阻塞模式(
select
)所谓非阻塞方式non- block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回...
select
_
socket
详解
Select
在
Socket
编程中还是比较重要的,可是对于初学
Socket
的人来说都不太爱用
Select
写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用
Select
就可以完成非阻塞(所谓非阻塞方式...
linux
select
函数返回值,
socket
中的
select
函数使用
socket
select
()函数用于定时检查以创建的
socket
句柄的状态,以确定设定的
socket
句柄当前是否可写或有数据可读。
select
函数提供了一种方法,使得程序在操作
socket
时(如recv操作),无需因阻塞而等待直至超时。特别是在一个线程中操作多个
socket
时,对多个
socket
逐一操作直至超时将浪费大量时间。
select
机制则是同时对多个
socket
句柄进行监控,一旦存在可操作...
select
同时监控多个
socket
1.
select
的参数说明 #include <sys/
select
.h> int
select
( int nfds, fd_set FAR* readfds, fd_set * writefds, fd_set * exceptfds, const struct timeval * timeout); nfds:是一个整数值,是指集合中所有文件描述符的范围,即所有文件描述符的最大值加...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章