Socket的Receive的实际超时时间为什么比设定多一点?

问题描述

如题,UdpClient.Socket.ReceiveTimeout设置的是1000毫秒,然后代码如下:try{timeBegin=DateTime.Now;bytes=udpConfirm.Receive(refreceiveEP);}catch(SocketExceptionex){timeEnd=DateTime.Now;TimeSpanspan=timeEnd-timeBegin;}

这里,catch后看span总是在1.5秒~1.8秒之间,实际时间比设定时间多了一半,请问为什么?是因为超时时间设置得太短的原因吗?

解决方案

解决方案二:
调试的时候看吗?
解决方案三:
引用1楼shingoscar的回复:

调试的时候看吗?

当然不是--!,断点打在第9行。
解决方案四:
那你把断点放第10行
解决方案五:
引用2楼h2041075的回复:

Quote: 引用1楼shingoscar的回复:
调试的时候看吗?

当然不是--!,断点打在第9行。

sorry...我理解错了。是调试打断点看的时差。
解决方案六:
引用3楼xdashewan的回复:

那你把断点放第10行

......
解决方案七:
发个release出来,用Console看
解决方案八:
引用6楼shingoscar的回复:

发个release出来,用Console看

什么意思。。你是说直接运行.exe?
解决方案九:
引用7楼h2041075的回复:

Quote: 引用6楼shingoscar的回复:
发个release出来,用Console看

什么意思。。你是说直接运行.exe?

时间: 2024-09-23 22:56:34

Socket的Receive的实际超时时间为什么比设定多一点?的相关文章

android-安卓socket设置超时时间不管用是为何?

问题描述 安卓socket设置超时时间不管用是为何? 解决方案 Socket 设置连接超时时间Socket 关于设置Socket连接超时时间Socket 关于设置Socket连接超时时间 解决方案二: synchronized void setSoTimeout(int timeout) Sets this socket's read timeout in milliseconds. 200是 0.2秒 这个方法是这是读取超时 解决方案三: timeout的时间单位是毫秒

我写的socket监听过一段时间就需要重新启动一下程序是什么原因

问题描述 我写的socket监听过一段时间就需要重新启动一下程序是什么原因 private void StartReceive() { string msg = null; IPEndPoint iep = new IPEndPoint(IPAddress.Parse(PublicVariables.BJIP), PublicVariables.PORT); socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, Pr

[原创]有关tengine几个超时时间说明

原创文章,转载请注明:来自有关tengine几个超时时间说明 负载均衡的客户和技术支持同学经常问: 7层 HTTP Keepalive 超时时间 是15秒 和http 60S 这个超时时间有什么区别? 下边列出来具体的含义 1. keepalive_timeout 15s; 长连接中连续两个http/https请求之间空闲的最大时间,超过此时间后没有收到新请求会关闭TCP长连接 The first parameter sets a timeout during which a keep-aliv

php下载文件超时时间的设置方法_php技巧

使用curl 可以使用curl自己实现一个curl_file_get_contents函数 //CURLOPT_FOLLOWLOCATION TRUE 时将会根据服务器返回 HTTP 头中的 "Location: " 重定向.(注意:这是递归的,"Location: " 发送几次就重定向几次,除非设置了 CURLOPT_MAXREDIRS,限制最大重定向次数 function curl_file_get_contents($durl){ $ch = curl_ini

Python中为feedparser设置超时时间避免堵塞_python

python有一个用于解析feed的模块:feedparser,feedparser解析各种feed是非常方便的,唯一比较恼火的是遇到一些badurl,经常会导致堵塞,因此需要为feedparser设置一个超时时间. 可是feedparser并没有提供这个功能,只好采用其他方法了,具体办法请参看feedparser项目的issue221. 其实也很简单,按照上面文档的说明 developers have had the ability to set a global timeout for ov

Python中为feedparser设置超时时间教程

python有一个用于解析feed的模块:feedparser,feedparser解析各种feed是非常方便的,唯一比较恼火的是遇到一些badurl,经常会导致堵塞,因此需要为feedparser设置一个超时时间. 可是feedparser并没有提供这个功能,只好采用其他方法了,具体办法请参看feedparser项目的issue221. 其实也很简单,按照上面文档的说明 developers have had the ability to set a global timeout for ov

C++设置超时时间的简单实现方法_C 语言

本文实例讲述了C++设置超时时间的简单实现方法,代码简单易懂,功能实用.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: BOOL SetTimeOut(SOCKET s, int nTime, BOOL bRecv)  {      int ret = ::setsockopt(s, SOL_SOCKET, bRecv?SO_RCVTIMEO:SO_SNDTIMEO, (char*)nTime, sizeof(nTime));      return ret!=SOCKET_ER

shiro和spring集成时session管理器超时时间问题

问题描述 shiro和spring集成时session管理器超时时间问题 这是我的配置文件,我配置了并发人数控制和动态权限过滤,然后session超时时间这里也是配置了的,然后并没有什么鸟用,在登录以后获取超时时间也是正常的,但还是1分钟就过期了. <?xml version="1.0" encoding="UTF-8"?> xmlns:util="http://www.springframework.org/schema/util"

Win7系统分区后没显示容量且提示“信号灯超时时间已到&quot;怎么办

  1.硬盘只显示盘符,且没有具体容量信息; 2.双击分区,报错提示:无法访问E:. 信号灯超时时间已到; 3.进入磁盘管理中查看,显示正常; 4.建议先检测硬盘,确认是否为硬盘故障.