windows 2000 , winsock 重叠模型的 客户端 , 连接问题 , 如何控制 connect 超时
1. WSASend 和 WSARecv 均有 重叠结构作为输入,可以通过判断 event对象的信号态 进行等待
WSAConnect函数没有
如何控制 重叠模型 client 端的 connect 超时?
2. ConnectEx 函数 可以接受 重叠结构作为参数, 但是好像 不能用在 windows2000 中
from msdn
ConnectEx
Requirements
Client Requires Windows Vista or Windows XP.
Server Requires Windows Server "Longhorn" or Windows Server 2003.
Header Declared in Mswsock.h.
谢谢 !
问题点数:100、回复次数:6Top
1 楼laiyiling(陌生人[MVP])回复于 2006-02-09 13:07:09 得分 20
setsockopt 应该可以设置超时Top
2 楼orbit(走了走了)回复于 2006-02-09 13:14:19 得分 30
WSAConnect也有异步模式,创建一个WSAEVENT对象,将其与FD_CONNECT绑定(WSASelectEvent),然后调用WSAConnect,(首先将socket设为异步模式),此函数立即返回,然后用WaitForSingleEvent等这个事件,指定超时时间即可Top
3 楼adingzhang(阿鼎)回复于 2006-02-09 18:08:28 得分 5
markTop
4 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-02-09 19:07:09 得分 25
也可以:
connect在一线程中完成,WaitForSingleObject设置超时。Top
5 楼nuaawenlin(飘人)回复于 2006-02-09 21:32:15 得分 20
非阻塞+select超时Top
6 楼BOYGUARD110(BOYGUARD110)回复于 2006-02-12 10:50:24 得分 0
谢谢大家Top




