首页 新闻 会员 周边

命名管道 ConnectNamedPipe阻塞问题

0
悬赏园豆:50 [待解决问题]

使用同步IO,WIN32API   ConnectNamedPipe会阻塞当前线程,如何设置超时时间,当阻塞一定时间没有客户端连接,就自动释放连接并关闭句柄,现在能想到的方案只有关闭当前工作线程的方式,求高手支招

林川的主页 林川 | 初学一级 | 园豆:160
提问于:2011-10-27 17:22
< >
分享
所有回答(1)
0

创建的时候设置:

HANDLE CreateNamedPipe( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes);

或者:

BOOL SetNamedPipeHandleState( HANDLE hNamedPipe, LPDWORD lpMode, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout);

Greatest | 园豆:678 (小虾三级) | 2011-11-23 13:41

这个默认的timeout只是客户端连接的超时时间

支持(0) 反对(0) 林川 | 园豆:160 (初学一级) | 2011-11-23 13:45

@林川: 那就只能临时的使用异步io来等待了,或者:http://stackoverflow.com/questions/1353263/how-to-unblock-connectnamedpipe-and-readfile-c

支持(0) 反对(0) Greatest | 园豆:678 (小虾三级) | 2011-11-23 14:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册