socket传送时怎么加时间限制? 我想实现在send()10秒后如果发送不成功就终止发送怎么做?请给出做这时间限制的代码,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题不在于终止发送。在通讯双方连接成功的情况下,send函数不会造成阻塞,如果是接收端缓冲区满,send会立刻返回实际发送字节数或失败,即便双方断开,send也会立刻返回失败。如果你不想在连接(connect)不通时提前结束,可以通过设置连接超时实现。 to wangjinwang(王进)怎么设置连接超时实现呢?能不能给个例子? 我的代码:// 设定socket接收超时,避免一直等待导致程序失去响应 DWORD time_out=1000; if(setsockopt(NDAP, SOL_SOCKET, SO_RCVTIMEO, (char*)&time_out, sizeof(time_out))== SOCKET_ERROR) { ShowErrorMessage(); return ; } 用 setsockopt 同时设定time_out值如果是设定send 那就通过定时器轮询吧 因为send是立即返回的 对,我试过,如果不用setsockopt设置超时的话,send在阻塞情况下,发送缓冲区满的话,会一直阻塞下去,直到发送完数据为止。 如何让avtiveX控件固定大小?不能改变大小。容器运行不可见。 关于Serialize的问题 CFile类中Write的用法!!谢谢! 请问,我在设置系统分辨率时,不指定显示器的刷新频率行吗? 得到对话框的窗口句柄?HWND 请教:#pragma pack(1) 是干什么用的,请说的详细一点。 新年到,散分了 VC资源库!!!来源于MSDN宇宙版 XML问题(!!难题!!) 用程序实现向打印机纸张列表添加新建格式,如:A9(300X200), 我用kodak扫描控件,如何把扫描的图片放入kodak 的图象编辑软件 ,急!!! 如何在鼠标属性页中添加一个自己的属性页
在通讯双方连接成功的情况下,send函数不会造成阻塞,如果是接收端缓冲区满,send会立刻返回实际发送字节数或失败,即便双方断开,send也会立刻返回失败。如果你不想在连接(connect)不通时提前结束,可以通过设置连接超时实现。
怎么设置连接超时实现呢?
能不能给个例子?
// 设定socket接收超时,避免一直等待导致程序失去响应
DWORD time_out=1000;
if(setsockopt(NDAP, SOL_SOCKET, SO_RCVTIMEO, (char*)&time_out, sizeof(time_out))== SOCKET_ERROR)
{
ShowErrorMessage();
return ;
}
如果是设定send 那就通过定时器轮询吧 因为send是立即返回的