我在线程中用WINSOCK的API,
如果是阻塞的,我怎么让他超时一段时间后,从RECV函数推出呢?
如果是阻塞的,我怎么让他超时一段时间后,从RECV函数推出呢?
解决方案 »
- 关于帖子被删除,质问CSDN
- 取DBgrid控件某一个字段的数据在edit控件中显示
- 那位遇到过这种问题?怎么解决的
- 三个问题
- 只要文件名,而不要扩展名?
- FRegistry是一个控件吗?是的话,它放在哪里啊。怎么找不到?
- C++Builder及VC中如何使用Delphi的Dll
- 我在query输出到dbgrid的时候,select 开头为中文字符字段 from *** 时,dbgrid显示的数据与表中一样,但加上distinct后,显示的数据是按拼音排了序的,为什么?我现在不想让它排序,怎么办?
- 如何判断当前系统是否运行有游戏?
- 救急!!!!C/S模式在客户端须加那些链接文件?????
- 大家说说一开始编程的时候项目经理会不会指导你技术性的东西?
- 动态创建按钮急呀
TimeOut,Flag: Integer): Integer;
var
FDSet: TFDSet;
TimeVal: TTimeVal;
begin
TimeVal.tv_sec := Timeout div 1000;
TimeVal.tv_usec := (Timeout mod 1000) * 1000;
FD_ZERO(FDSet);
FD_SET(FSocket, FDSet);
if select(0, @FDSet, nil, nil, @TimeVal) > 0 then
Result := WinSock.recv(FSocket,Buf,nBuflen,Flag);
end;