1.如何设置socket的Connect超时
针对套接字操作设置默认超时的概述StreamSocket类实现Windows运行时应用中的TCP套接字。
TCP套接字必须建立连接才能发送或接收任何网络数据。Windows8.1、WindowsPhone8.1和WindowsServer2012中实现的基础TCP套接字会针对所有的TCP连接套接字操作设置默认超时。
对于每个来源和目标地址对,在使用主机名或终结点时,默认超时为3分钟(180秒)。因此,如果目标主机名有两个IP地址,那么,只有在经过大约6分钟之后,连接操作才会超时。
对于使用Windows运行时应用的客户体验来说,这个默认超时可能过长。因此,使用StreamSocket类的应用可能希望针对流套接字连接操作设置较短的自定义超时。
在发送或接收网络数据时,DatagramSocket和StreamSocket类没有默认超时。因此,任何发送或接收操作都将永远等待。
使用套接字的Windows运行时应用可能希望针对这些操作设置超时以获取更好的客户体验。StreamSocketListener类将永远侦听和等待传入的连接请求。
如何针对套接字操作设置自定义超时JavaScript语言支持计时事件,这些事件可以按指定的时间间隔执行某些代码。JavaScript计时事件setInterval()-按指定的时间间隔(毫秒)反复执行某个函数。
setTimeout()-在等待指定的毫秒之后执行一次某个函数。计时事件函数是在HTMLDOMWindow对象中实现的。
WinJS命名空间为包括WinJS.Promise对象的JavaScript功能提供特殊的Windows库。timeout(timeout,promise)方法包装setTimeout函数。
如果在timeout参数中指定的毫秒数内未完成承诺,则Windows应用商店应用可以使用timeout(timeout,promise)方法来取消此承诺。如果在timeout参数中指定的时间间隔内未完成套接字操作,则可以调用timeout(timeout,promise)方法并将套接字操作作为promise参数以使该操作超时。
只要套接字操作仍在挂起,就能将其取消。WinJS.Promise对象和timeout(timeout,promise)方法可以与Windows运行时应用中的任何异步操作一起使用,包括所有的异步套接字操作。
对于正常的完成操作,可以在timeout(timeout,promise)方法调用之后添加逗.then地。对于所有这三个类来说,使用超时的基本模型是相同的。
以下讨论使用StreamSocket上的连接操作作为示例。在使用DatagramSocket或StreamSocket对象发送或接收网络数据时,或者在使用StreamSocketListener对象侦听传入连接时,可以使用相同的模型来实现超时。
创建一个StreamSocket。调用timeout(timeout,promise)方法并将其中一个StreamSocket.connectAsync方法作为promise参数。
在源代码的末尾添加then(successFunction,errorFunction)方法来处理成功和错误案例。在出错时,关闭套接字。
在取消StreamSocket操作承诺之后,将无法再使用已取消的StreamSocket。以下示例将针对StreamSocket连接操作实现自定义超时。
=null;vartimeout=10000;//(){varserverHostName=newWindows.Networking.HostName("");varserviceName="pleted.");//.},function(reason){//:thepromisemighthave//timedout,,orthere//wasanTCPissue,.//displayStatus("Client:connectionfailed.");//displayStatus(reason.message);clientSocket.close();clientSocket=null;}));}。
2.如何修改 TCP/IP 最大重新传输超时
Windows 提供了一种机制来控制初始重新传输的时间,并重新传输时间然后动态地自行调整。若要更改的初始重新传输时间,修改以下注册表值。
更改 Windows 2003 和 Windows XP 中,Windows 2000 中的以下子项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\适配器 IDValue Name: TCPInitialRtt
Data Type: REG_DWORD
Valid Range: 300-65535 (milliseconds in decimal)
Default: 0xBB8 (3000 milliseconds expressed in hexadecimal)
说明: 此参数控制 TCP 使用对每个新连接的初始重新传输超时。它适用于连接请求 (SYN) 和每个连接发送的第一个数据段。例如的"十进制 5000"值数据将初始的重新传输时间设置为 5 秒。
3.如何设置socket的Connect超时
针对套接字操作设置默认超时的概述StreamSocket类实现Windows运行时应用中的TCP套接字。
TCP套接字必须建立连接才能发送或接收任何网络数据。Windows8.1、WindowsPhone8.1和WindowsServer2012中实现的基础TCP套接字会针对所有的TCP连接套接字操作设置默认超时。
对于每个来源和目标地址对,在使用主机名或终结点时,默认超时为3分钟(180秒)。因此,如果目标主机名有两个IP地址,那么,只有在经过大约6分钟之后,连接操作才会超时。
对于使用Windows运行时应用的客户体验来说,这个默认超时可能过长。因此,使用StreamSocket类的应用可能希望针对流套接字连接操作设置较短的自定义超时。
在发送或接收网络数据时,DatagramSocket和StreamSocket类没有默认超时。因此,任何发送或接收操作都将永远等待。
使用套接字的Windows运行时应用可能希望针对这些操作设置超时以获取更好的客户体验。StreamSocketListener类将永远侦听和等待传入的连接请求。
如何针对套接字操作设置自定义超时JavaScript语言支持计时事件,这些事件可以按指定的时间间隔执行某些代码。JavaScript计时事件setInterval()-按指定的时间间隔(毫秒)反复执行某个函数。
setTimeout()-在等待指定的毫秒之后执行一次某个函数。计时事件函数是在HTMLDOMWindow对象中实现的。
WinJS命名空间为包括WinJS.Promise对象的JavaScript功能提供特殊的Windows库。timeout(timeout,promise)方法包装setTimeout函数。
如果在timeout参数中指定的毫秒数内未完成承诺,则Windows应用商店应用可以使用timeout(timeout,promise)方法来取消此承诺。如果在timeout参数中指定的时间间隔内未完成套接字操作,则可以调用timeout(timeout,promise)方法并将套接字操作作为promise参数以使该操作超时。
只要套接字操作仍在挂起,就能将其取消。WinJS.Promise对象和timeout(timeout,promise)方法可以与Windows运行时应用中的任何异步操作一起使用,包括所有的异步套接字操作。
对于正常的完成操作,可以在timeout(timeout,promise)方法调用之后添加“.then”。对于所有这三个类来说,使用超时的基本模型是相同的。
以下讨论使用StreamSocket上的连接操作作为示例。在使用DatagramSocket或StreamSocket对象发送或接收网络数据时,或者在使用StreamSocketListener对象侦听传入连接时,可以使用相同的模型来实现超时。
创建一个StreamSocket。调用timeout(timeout,promise)方法并将其中一个StreamSocket.connectAsync方法作为promise参数。
在源代码的末尾添加then(successFunction,errorFunction)方法来处理成功和错误案例。在出错时,关闭套接字。
在取消StreamSocket操作承诺之后,将无法再使用已取消的StreamSocket。以下示例将针对StreamSocket连接操作实现自定义超时。
=null;vartimeout=10000;//(){varserverHostName=newWindows.Networking.HostName("");varserviceName="pleted.");//.},function(reason){//:thepromisemighthave//timedout,,orthere//wasanTCPissue,.//displayStatus("Client:connectionfailed.");//displayStatus(reason.message);clientSocket.close();clientSocket=null;}));}。
4.win10续订端口以太网时出错:信号灯超时时间已到怎么办
解决办法
1、首先确认adsl modem拨号正常或是直接入户的网线与交换机之间物理链路通畅,因为网卡自动获取的IP没有清除,所以再次拨号的时候网卡无法获取新的IP地址会提示678,操作方法是:关闭adsl modem,进入控制面板的网络连接右击本地连接选择禁用,5秒钟后右击本地连接选择启用,然后打开adsl modem拨号即可;如果是直接网线入户的用户可以禁用本地连接之后,在启用之后选择本地连接右键选择状态,查看收到和发出是否正常,并且查看是否可以获得有效的内网IP(电信无内网IP,仅限于移动光纤宽带);
2、如果第一步无效,则在关闭adsl modem的情况下,仍然禁用本地连接(网卡),重启计算机,然后启用本地连接(网卡)再打开adsl modem即可解决;
3、如果上述步骤都无法解决,查看网卡灯是否亮,如果电源灯闪烁则要检查电源及modem本身;若外线指示灯仍然闪烁则可自查室内线;
4、如果网卡灯正常1,2步无法解决则带领用户卸载网卡驱动,重装网卡驱动。如果用户xp系统按照:知识编号:9973,如何在WINXP下设置ADSL拨号连接 方法带领用户创建拨号连接,如果98系统建议用户安装Raspppoe软件或者EHERNET300软件连接即可。
5、如果上述操作无效,联系你所在地区的网络提供商确认端口。
6、adsl modem故障是主要原因。可能是没有对路由器进行设置,笔者是adsl就碰到这样的情况,以为路由器坏了,买了个新的,结果还是老样子,后来看说明书才知道不是把线插进去就好的,还要进行设置拿TP-LINK来说先进入192.168.1.1,再设置向导,用户名和密码都填admin,点下一步,选择上网方式,再填相关项目就可以了,注意以后就不用拨号了。
7、如果多台电脑使用路由器上网,可尝试将路由器拆除后连接Internt。若能顺利上网,说明路由器故障,应排除路由器故障或更换新的路由器。
8、如果是ADSL包年用户,在使用过程中如果出现这种情况,有可能是电话欠费,请咨询客户服务中心。有部分地区中国电信或中国联通用户,在电话欠费的情况下,电话可以打通,但是却无法上网,这时也有可能是电话欠费,因为部分地区的电信部门在用户电话欠费情况下,不是停止电话的使用,而是停止网络的使用。
9、部分品牌Modem供电不足也容易造成错误678。
10、如果以上方法都不能解决您的问题,可以尝试一下adsl modem的reset按两三下再上试试。
11、adsl modem设备损坏也会造成错误678,虽然从表面上看起来adsl modem运转正常,但是就是连接失败,笔者就曾遇到此类问题,最终换了一个新的adsl modem方解决问题。
12、猫线和分线器接触不良也会造成错误678,接触不良的时候打电话没有问题,宽带偶尔也能连上,但是容易掉线,或者报错误678,笔者为这个毛病苦恼,猫都换了一个,后来无意重新接了下猫线,居然好了,告诉大家,希望有帮助。
13、网卡接触不良或损坏也有可能造成678错误,尝试拔掉重插或者更换一个新的网卡,可以解决问题。
如果以上不行,试试把宽带连接删掉,重新创建一个新的网络连接。
检查电脑宽带线是否插好。. [2]
14、用迅雷旗下的游戏加速器,第二天再开机就678了,把LSP修复一下又好了,遂卸载加速器。建议在出现678时回想一下此前装过什么软件,改动过什么设置。
5.网络请求错误timeout是什么意思
网络能造成业务超时。
其主要原因是网络抖动会带来不同程度的延迟。本文以互联网大部分应用以来的TCP为对象来介绍,一个丢包对数据传输的完整性其实是没有影响的,因为TCP协议本身已经有精密的设计来处理丢包,乱序等异常情况。
并且所有重传的处理都在内核TCP协议栈中完成,操作系统用户空间的进程对这个处理实际上是不感知的。
丢包唯一的副作用的就是会增加延迟,如果这段延迟的时间足够长,达到了应用进程设置的某个Timeout时间,那么在业务应用侧表现出来的就是业务超时。
扩展资料
丢包出现时会不会发生超时,取决于应用进程的Timeout设置。比如数据传输中的只丢了一个TCP数据包,引发200 ms后的超时重传:
如果应用设置的Timeout为100 ms,TCP协议栈没有机会重传,应用就认为超时并关闭连接;
如果应用设置的Timeout为500 ms,则TCP协议栈会完成重传,这个处理过程对应用进程透明。应用唯一的感知就是处理这次报文交互比基线处理时长多了200 ms,对于时间敏感度不是非常高的应用来说这个影响非常小。
6.网络请求错误timeout是什么意思
网络能造成业务超时。
其主要原因是网络抖动会带来不同程度的延迟。本文以互联网大部分应用以来的TCP为对象来介绍,一个丢包对数据传输的完整性其实是没有影响的,因为TCP协议本身已经有精密的设计来处理丢包,乱序等异常情况。
并且所有重传的处理都在内核TCP协议栈中完成,操作系统用户空间的进程对这个处理实际上是不感知的。丢包唯一的副作用的就是会增加延迟,如果这段延迟的时间足够长,达到了应用进程设置的某个Timeout时间,那么在业务应用侧表现出来的就是业务超时。
扩展资料丢包出现时会不会发生超时,取决于应用进程的Timeout设置。比如数据传输中的只丢了一个TCP数据包,引发200 ms后的超时重传:如果应用设置的Timeout为100 ms,TCP协议栈没有机会重传,应用就认为超时并关闭连接;如果应用设置的Timeout为500 ms,则TCP协议栈会完成重传,这个处理过程对应用进程透明。
应用唯一的感知就是处理这次报文交互比基线处理时长多了200 ms,对于时间敏感度不是非常高的应用来说这个影响非常小。
7.tcp连接状态有大量的timewait 状态,导致连接等待至超时,怎么解决
TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分 段最大生存期),以此来确保旧的连接状态不会对新连接产生影响
根据TCP协议定义的3次握手断开连接规定,发起socket主动关闭的一方 socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime),在Windows下默认为4分钟,即240秒,TIME_WAIT状态下的socket不能被回收使用. 具体现象是对于一个处理大量短连接的服务器,如果是由服务器主动关闭客户端的连接,将导致服务器端存在大量的处于TIME_WAIT状态的socket, 甚至比处于Established状态下的socket多的多,严重影响服务器的处理能力,甚至耗尽可用的socket,停止服务.
TIME_WAIT是TCP协议用以保证被重新分配的socket不会受到之前残留的延迟重发报文影响的机制,是必要的逻辑保证.
8.在查看windows IP配置时 显示在续订接口以太网时出错:信号灯超时时
一、网络设置的问题 这种原因比较多出现在需要手动指定IP、网关、DNS服务器联网方式下,及使用代理服务器上网的。
仔细检查计算机的网络设置。 二、DNS服务器的问题 当IE无法浏览网页时,可先尝试用IP地址来访问,如果可以访问,那么应该是DNS的问题,造成DNS的问题可能是连网时获取DNS出错或DNS服务器本身问题,这时你可以手动指定DNS服务(地址可以是你当地ISP提供的DNS服务器地址,也可以用其它地方可正常使用DNS服务器地址。)
在网络的属性里进行,(控制面板—网络和拔号连接—本地连接—右键属性—TCP/IP协议—属性—使用下面的DNS服务器地址)。不同的ISP有不同的DNS地址。
有时候则是路由器或网卡的问题,无法与ISP的DNS服务连接,这种情况的话,可把路由器关一会再开,或者重新设置路由器。 还有一种可能,是本地DNS缓存出现了问题。
为了提高网站访问速度,系统会自动将已经访问过并获取IP地址的网站存入本地的DNS缓存里,一旦再对这个网站进行访问,则不再通过DNS服务器而直接从本地DNS缓存取出该网站的IP地址进行访问。所以,如果本地DNS缓存出现了问题,会导致网站无法访问。
可以在“运行”中执行ipconfig/flushdns来重建本地DNS缓存。 三、IE浏览器本身的问题 当IE浏览器本身出现故障时,自然会影响到浏览了;或者IE被恶意修改破坏也会导致无法浏览网页。
这时可以尝试用“金山毒霸安全助手”来修复。 四、网络防火墙的问题 如果网络防火墙设置不当,如安全等级过高、不小心把IE放进了阻止访问列表、错误的防火墙策略等,可尝试检查策略、降低防火墙安全等级或直接关掉试试是否恢复正常。
五、网络协议和网卡驱动的问题 IE无法浏览,有可能是网络协议(特别是TCP/IP协议)或网卡驱动损坏导致,可尝试重新网卡驱动和网络协议。 六、HOSTS文件的问题 HOSTS文件被修改,也会导致浏览的不正常,解决方法当然是清空HOSTS文件里的内容。
七、系统文件的问题 当与IE有关的系统文件被更换或损坏时,会影响到IE正常的使用,这时可使用SFC命令修复一下,WIN98系统可在“运行”中执行SFC,然后执行扫描;WIN2000/XP/2003则在“运行”中执行sfc/scannow尝试修复。 其中当只有IE无法浏览网页,而QQ可以上时,这一般都是由于winsock.dll、wsock32.dll或wsock.vxd(VXD只在WIN9X系统下存在)等文件损坏或丢失造成,Winsock是构成TCP/IP协议的重要组成部分,一般要重装TCP/IP协议。
但xp开始集成TCP/IP协议,所以不能像98那样简单卸载后重装,可以使用netsh命令重置TCP/IP协议,使其恢复到初次安装操作系统时的状态。具体操作如下: 点击“开始运行”,在运行对话框中输入“CMD”命令,弹出命令提示符窗口,接着输入“netshintipresetc:resetlog.txt”命令后会回车即可,其中“resetlog.txt”文件是用来记录命令执行结果的日志文件,该参数选项必须指定,这里指定的日志文件的完整路径是“c:resetlog.txt”。
执行此命令后的结果与删除并重新安装TCP/IP协议的效果相同。 小提示:netsh命令是一个基于命令行的脚本编写工具,你可以使用此命令配置和监视Windows系统,此外它还提供了交互式网络外壳程序接口,netsh命令的使用格式请参看帮助文件(在令提示符窗口中输入“netsh/?”即可)。
第二个解决方法是修复以上文件,WIN9X使用SFC重新提取以上文件,WIN2000/XP/2003使用sfc/scannow命令修复文件,当用sfc/scannow无法修复时,可试试网上发布的专门针对这个问题的修复工具WinSockFix。 八、ApplicationManagement服务的问题 出现只能上QQ不能开网页的情况,重新启动后就好了。
不过就算重新启动,开7到8个网页后又不能开网页了,只能上QQ。有时电信往往会让你禁用ApplicationManagement服务,就能解决了。
具体原因不明。 九、感染了病毒所致 这种情况往往表现在打开IE时,在IE界面的左下框里提示:正在打开网页,但老半天没响应。
在任务管理器里查看进程,(进入方法,把鼠标放在任务栏上,按右键—任务管理器—进程)看看CPU的占用率如何,如果是100%,可以肯定,是感染了病毒,这时你想运行其他程序简直就是受罪。这就要查查是哪个进程贪婪地占用了CPU资源.找到后,最好把名称记录下来,然后点击结束,如果不能结束,则要启动到安全模式下把该东东删除,还要进入注册表里,(方法:开始—运行,输入regedit)在注册表对话框里,点编辑—查找,输入那个程序名,找到后,点鼠标右键删除,然后再进行几次的搜索,往往能彻底删除干净。
转载请注明出处windows之家 » win10设置tcp连接超时时间