我在线程中用socket的blocking模式链接网站下载资料,可是不知道该如何设置connect时的超时(看了些例子和winsock.pas都没找到这方面的资料),有时候要十几二十分钟才返回出错信息,或一直都不返回出错信息,就卡在那里不动了(线程还是活动的,CPU占用率几乎为零);我已尝试在线程外部用closesocket(skt)关闭线程中的socket,可是无效(关闭revc或send就可以)
现请教: 1、socket这个超时是否有缺省值,是多少? 2、怎么设置这个超时值或解决这个超时问题?
要求: 1、不要建议我用其它网络控件,我需直接用winsock 2、必须是blocking模式的解决方法 3、不要用强行中止整个线程的方法(因为这样线程堆践没释放,造成重生线程时资源不足)
说明:这100分为给UP者的奖励,答题的200分将另外开两个100分贴给分
|