问题标签 [socket-timeout-exception]
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.
java - ConnectTimeout 和 ReadTimeout 无限时出现 SocketTimeoutException?
我尝试连接到 Web 服务并SocketTimeoutException
在大约 20 秒后收到。托管 Web 服务的 Tomcat 服务器已关闭,因此这Exception
是意料之中的。但是,我没有设置 ConnectTimeout 和 ReadTimeout 的值。根据文档,这两个的默认值是无限的。
一种可能性是我尝试连接的服务器有自己的超时。但是当我的朋友尝试使用 iOS 连接到它时,他的连接在大约 1 分 15 秒后超时。如果服务器是发出超时的服务器,那么我们的连接应该几乎同时超时。请注意,他也在使用 iOS 的默认超时时间。
- 当我的连接和读取超时设置为无限时,为什么我的套接字这么早就超时了?
- 套接字超时与连接和读取超时是否不同?如果是这样,它有什么不同?
- 如何知道我的套接字超时值?我正在使用 HttpURLConnection。
- 有没有办法设置套接字超时?如何?
下面是我的代码片段:
android - 调用 web 服务时的 SocketTimeout 异常
我在使用 android v4.0.3 的应用程序中使用 web 服务,但是当我到达
HttpTransportse
ShowsSocketTimeoutException
并没有得到响应时。相同的代码在 android.v.2.2 中完美运行
我在 logcat 中得到以下异常
这是代码
c# - 是否可以在 TimedOut 异常后重用套接字?
简而言之,是否可以在捕获 TimedOut 异常后重用套接字?我该怎么做?
很长的故事:
我有 2 个线程,都使用同一个套接字。一个正在向远程服务器发送数据包(我们称之为线程 A),而另一个(线程 B)正在侦听这些已发送数据包的确认数据包。当满足某些条件时,线程 A 将暂停(使用Monitor.Wait
),等待 aMonitor.Pulse
继续。当线程 B 收到一个数据包时,它调用Monitor.Pulse
并且线程 A 继续做它的事情......
问题是数据包可能会丢失,线程 B 将无限期地等待一个不会接收到的数据包,而线程 A 正在等待一个脉冲。整个程序将“阻塞”。我的第一个想法是设置接收超时并捕获相关的异常。发生这种情况时,我调用Monitor.Pulse
线程 A 可以继续,而线程 B 将继续等待另一个数据包。
但这不起作用。当异常被捕获时,套接字将关闭,当线程 A 尝试发送新数据包时应用程序将崩溃,因为它们使用的是同一个套接字。
如何防止这种行为?
java - 为什么我无法捕获 java.net.SocketTimeoutException?
我有一个简单的多线程服务器,线程的代码如下所示:
我想创建 3 分钟的超时,如果客户端套接字在 3 分钟内没有发送消息,则必须关闭线程...
所以我尝试这样做:
问题是 netbeans 显示错误消息:
我用 SocketException 尝试了这个,但结果相同..
为什么我抓不到他们?
更新:根据 thinksteep 和 mprabhat 的回复,我在 LireTrame(..) 中添加了th throw,但我仍然无法捕捉到异常:
有什么想法可以做到这一点吗?
android - HttpURLConnection readLine() 挂在 Sprint 4G 网络上
我有一个例程使用 HttpURLConnection 通过 multipart/form-data 内容类型上传文件。服务器对上传的文件进行一些处理并返回一个简短的响应代码。到目前为止,这在所有情况下都可以正常工作,除非一位用户在 4G 上使用 HTC Evo。如果用户切换到 3G,那么一切正常。当在 4G 上时,应用程序将等待while ((line = reader.readLine()) != null) {
直到抛出套接字连接超时异常。我将连接超时设置为 70 秒。服务器在 php 这里是相关的片段
请注意,“BACKGROUND”响应有效,其余响应会导致客户端等待超时异常。我目前对此有 2 个想法,但我不在 4G 领域,所以我只能通过最终用户进行测试,我真的想限制尝试次数。我的第一个想法是“BACKGROUND”比“FailedQA”稍长,而另一个更长,它有一个数字开头。所以也许在响应中添加空格会有所帮助?另一个方面是响应时间。'BACKGROUND' 消息通常比其他消息发送得更快。但是,我这里有一个反例,所以我不是陛下。示例:“BACKGROUND”消息通常会在 15 到 20 秒内消失。其他消息通常为 30-40 秒。但是,我有一个例子,其中 '
总结一下:这只发生在 Sprint 4G 上。我怀疑可能是导致问题的内容长度或响应时间,但在这两种情况下,我都有一个相反的反例。除了长度情况之外,较长的反例示例以数字开头,所以就是这样。
java - Mongodb Java Driver偶尔读取数据失败,socket超时
我正在尝试使用 Java 的 Mongodb 驱动程序,我对这个偶尔出现的错误感到非常沮丧,尽管最一致的是,它出现在我第一次尝试连接到数据库时。任何关于在哪里寻找的帮助都会非常有帮助。
设置基本上是这样的:我在 localhost 上启动我的 Play 2.0 应用程序,我尝试在我的应用程序上注册一个用户。当我输入用户名时,会向数据库发送一个查询以检查用户名是否存在,这需要一秒钟(可能是实例化 Mongo 单例和连接到数据库的开销)但似乎有效,我可以成功执行几个查询,例如这个:
然后当我尝试插入用户时出现问题(总共大约 2kb 的数据):
这偶尔会失败,但往往if(result.getLastError().ok())
在线上失败。我真的无法解决这个问题,因为它会随机弹出。以下是堆栈跟踪通常的样子:
任何帮助将不胜感激,因为我无法真正弄清楚这里发生了什么,更有经验的人可能知道去哪里找。
一个可能也说明这一点的注意事项是,我尝试将更多数据加载到保存的对象中时,问题发生的频率越高。
谢谢!
android - Android - setSoTimeout 不起作用
所以我遇到了一个不工作的套接字超时。我遵循了现有帖子给出的所有说明,但它仍然无法正常工作(我从未收到套接字超时异常)。这是我的代码:
所以我应该在两秒后得到一个套接字超时异常,但客户端只是忽略了这一点。有什么帮助吗?
提前致谢
所以这里是所有的代码:
android - 在android应用程序中从http转换为https后的SocketTimeoutException
在尝试将我的 android 应用程序转换为使用 SSL 在我的 android 应用程序和 Web 服务器之间传输信息后,我遇到了一些问题。(SocketTimeOutException)
我从证书颁发机构 (CA) 购买了正 SSL 证书,并将我的服务器配置为正确使用它。我已经在我的网络浏览器中对其进行了测试,并且它工作正常。
现在我正在尝试修改我的 android 应用程序以使用 https 而不是 http,但由于这是我自己第一次使用 https,所以我对需要在 java 代码中实现哪些步骤感到有些困惑。
目前我正在我的设置页面上配置我的应用程序以使用正确的 url。例如,我在输入网站 url (http://www.mydomain.com) 和存储相关页面的应用程序文件夹 (myappfolder) 的活动中有 2 个文本字段
然后,我使用以下代码进行连接并测试连接变量是否配置正确,其中 validateurl.aspx 是一个网页,如果页面存在则返回 JSON 字符串:
现在,当我尝试将 (http://www.mydomain.com) 变量转换为使用 https 时,我得到了上面提到的 java.net.SocketTimeoutException。
我已经用谷歌搜索了这个问题,发现我应该在上面的代码中实现 HttpsURLConnection 而不是 URLConnection 所以我已经相应地修改了我的代码如下:
但是我仍然收到 java.net.SocketTimeoutException。任何想法我做错了什么?
java - android中java.net.Socket的默认超时值是多少?
我正在为安卓开发一个移动应用程序。在那里,我创建了套接字并在 android 手机和 Windows 应用程序(在 pc、笔记本电脑上运行)之间传输数据。我正在使用安卓 2.3
测试手机samsung galaxy pop
电脑和手机通过 USB Tithering 连接。
数据传输正确。
但是一个问题是在应用程序中间,通过从系统中拔下移动 USB Caple 取消了十分之一,然后我抛出异常。
但有时它不会通过任何异常它只是等待,Socket也没有关闭等待数据读取
所以请在android中发送默认的socket超时时间
我的示例代码如下
当我使用代码时
然后它返回 0。
请大家给出你的想法。
android - wifi和GPRS上的android超时异常
贝娄是我调用服务的代码,但它给出了超时异常
它可以在模拟器上运行,但不能在实际设备上运行,如果错误,请提出任何教程或示例.......
谢谢x...