问题标签 [timeout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
1606 浏览

tcp - 大容量TCP Client的设计

我有一个 .NET TCP 客户端,它向(.NET 异步)TCP 服务器发送大量消息。

我需要继续向服务器发送消息,但由于 TIME_WAIT,我用完了客户端上的端口。

程序如何在不使用所有可用端口的情况下持续可靠地发送消息?

有没有办法继续重用同一个套接字。我查看了 Disconnect() 和 REUSEADDRESS 套接字标志,但找不到任何使用它们的好例子。事实上,大多数消息来源都说不要使用 Disconnect,因为它是用于较低级别的使用(即它只回收套接字句柄)。

我在想我需要切换到 UDP 还是有使用 C++ 和 IOCP 的方法?

0 投票
34 回答
366270 浏览

windows - 错误1053:服务没有及时响应启动或控制请求

我最近继承了几个作为 Windows 服务运行的应用程序,并且在为它们提供 gui(可从系统托盘中的上下文菜单访问)时遇到问题。

我们需要 Windows 服务的 gui 的原因是为了能够重新配置 Windows 服务的行为而无需停止/重新启动。

我的代码在调试模式下工作正常,我得到了上下文菜单,一切正常等等。

当我使用命名帐户(即不是本地系统帐户)通过“installutil”安装服务时,服务运行正常,但不会在系统托盘中显示图标(我知道这是正常行为,因为我不具有“与桌面交互”选项)。

但问题是——当我选择“LocalSystemAccount”选项并检查“与桌面交互”选项时,服务需要 AGES 来启动,没有明显的原因,我只是不断收到

无法在本地计算机上启动 ... 服务。

错误 1053:服务没有及时响应启动或控制请求。

顺便说一句,我通过注册表黑客将 Windows 服务超时从默认的 30 秒增加到 2 分钟(请参阅http://support.microsoft.com/kb/824344,在第 3 节中搜索 TimeoutPeriod),但是服务仍然启动超时。

我的第一个问题是 - 为什么“本地系统帐户”登录比使用非 LocalSystemAccount 登录的服务要长得多,从而导致 Windows 服务超时?这两者之间有什么区别会导致启动时出现这种不同的行为?

其次 - 退后一步,我想要实现的只是一个提供配置 gui 的 Windows 服务 - 我很乐意使用非本地系统帐户(使用命名用户/密码)运行,如果我可以让服务与桌面交互(也就是说,在系统托盘中有一个可用的上下文菜单)。这可能吗,如果可以,怎么办?

任何指向上述问题的指针将不胜感激!

0 投票
1 回答
1044 浏览

timeout - timeout error when on an ad hoc network

I am doing an InternetConnect (Wininet) to an FTP server that happens to be running on an iPhone. When the user is on a normal WiFi network it works fine for him. When he has an ad hoc network with his iPhone he gets an ERROR_INTERNET_TIMEOUT. I presume this is some kind of routing problem. I am curious as to why this gets ERROR_INTERNET_TIMEOUT and not ERROR_INTERNET_CANNOT_CONNECT. Most users, if they are blocked by, for example, a firewall, will get ERROR_INTERNET_CANNOT_CONNECT.

I don't understand enough about low-level TCP/IP to understand what kind of situation would cause a timeout error instead of a connect error. I'm really more intellectually curious in understanding this than I am in actually solving the user's problem. ;-) Can anyone explain what is happening with the network packets (the more detailed the better)?

edit: note that, as far as I know, the user doesn't have an outgoing firewall enabled, it's not a firewall issue. I think it's some kind of routing issue. I have seen similar issues when a user is connected a VPN and their routing is set up incorrectly and all packets go to their work instead of the iPhone. I want to know what's going on with the packets in this situation: the socket connects but at the next step (whatever that is) they can't communicate.

0 投票
2 回答
9041 浏览

php - HTTP 请求被视为超时的默认时间是多少?

对于 PHP,HTTP 请求被视为超时的默认时间是多少?

我正在使用 PECL HTTP 扩展来发出 HTTP 请求。我可以在发出请求时设置超时限制,但是如果没有明确指定,我想知道默认值是什么。

我已经通过 PHP 手册进行了搜索,但无济于事。我希望得到证据支持的答案,例如相关手册页的链接,而不是推测性建议。

我很想知道默认超时实际上不仅仅是它可能是什么。我可以猜测它可能30 秒,因为这似乎是一个合理的值,但是我找不到任何可以证实或否认这一点的东西。

0 投票
2 回答
14809 浏览

http - 以编程方式发出请求时要使用的合理 HTTP POST 超时值?

当以编程方式发出 HTTP POST 请求时,什么超时值是合理的?

就我而言,我希望在 PHP 中发出 POST 请求时设置“合理的”超时值,但这适用于任何语言。

我需要能够发出一组请求,每个请求都发送到用户指定的 URL。如果我确实需要连续而不是同时处理请求,我想指定一个合理的时间,超过该时间请求被视为超时。

PHP 的默认套接字超时为 60 秒。在决定一个请求不会完成之前,这似乎是一个不必要的等待时间。

由于这些是 POST 请求,它们应该快速完成 - 没有数据可以像 GET 请求一样被检索和返回。

在大多数情况下,我们应该能够假设,未能在 X 秒内对请求发出响应意味着主机不太可能在合理的时间内对 X 的值显着小于 60 发出响应。

当然,主机很少需要超过 60 秒的时间来响应一个简单的 POST 请求。他们甚至很少需要超过 10 秒的时间吗?5秒?

在实践中 X 的合理值是多少?伴随建议的理由将是非常有益的。

0 投票
10 回答
41777 浏览

asp.net - ASP.NET 会话超时测试

我正在对 ASP.Net 网站进行一些黑盒测试,我需要测试不同的会话超时场景。

我不确定他们是否完全封装了会话超时。除了将页面打开 20 分钟之外,还有没有更简单的方法来强制会话超时?

0 投票
1 回答
1660 浏览

java - Java 中的 HTTP 帖子和多线程

我正在编写一个内部 Java Applet 来通过 HTTP 上传文件。我开始使用内置的 ClientHttpRequest,如果我想一个接一个地发布,它会很好用。当我尝试同时发布多个线程时,服务器端的某些东西会出现问题,并且对于大文件,连接会挂起,同时仍会上传较小的文件。(大的似乎在 10 兆左右)经过大量查找,我无法找到可以设置为从该错误中恢复的超时,但最终从 Apache 中找到了 ClientHttp,它确实提供了设置超时的机制。它的问题在于,虽然它声称能够在多线程程序中工作,但实际上它只执行一个又一个请求。

虽然发布确实不需要多个线程(HttpClient 似乎确实比 ClientHttpRequest 快一点),但获得额外的速度提升会非常好,因为可以同时发送很多较小的文件。

这些文件是通过 HTTP 发送的,因为我们希望使用他们的会话 cookie 对已经登录的用户使用相同的身份验证。

因此,我正在寻找一种方法来设置 ClientHttpRequest 超时或 HttpClient 的代码,该代码实际上将按照承诺同时发送多个请求。

我在线程之间共享相同的 HttpClient 实例并使用多线程连接管理器(没有它甚至无法工作)就像文档说的那样,它没有帮助。

任何帮助将不胜感激,如果您需要任何澄清,请告诉我。

0 投票
4 回答
1356 浏览

sql - MS SQL 并发,多余的锁

我在 ms sql 2000 上有一个数据库,一次被数百名用户访问。有大量使用 Reporting Services 2005 访问同一数据库的报告。

当有大量报告正在运行并且人们同时使用数据库时,我们会看到阻塞进程到系统开始为在这种情况下一段时间后进行的任何事务提供超时的级别。

是否有一种将阻塞最小化的全局方法,以便事务可以继续流动。

0 投票
2 回答
2977 浏览

python - MySQLdb 执行超时

有时在我们的生产环境中,服务(即使用 MySQLdb 的 python 程序)和 mysql 服务器之间的连接不稳定,一些包丢失,一些黑魔法发生并且 MySQLdb.Cursor 对象的 .execute() 永远不会结束(或采取大量的时间结束)。

这非常糟糕,因为它浪费了服务工作线程。有时它会导致工人池耗尽,服务完全停止响应。

所以问题是:有没有办法在给定的时间后中断 MySQLdb.Connection.execute 操作?

0 投票
2 回答
2751 浏览

.net - 是否可以在调用 Web 服务时覆盖 .NET 客户端的默认超时?

我希望 Web 服务代理类等待 2 分钟以上