Android 问题...为什么没有套接字异常?解决办法吗?

发布于 2024-11-07 03:44:28 字数 400 浏览 0 评论 0原文

我有一个套接字连接线程,使用对象输入和输出流来跨套接字读取和写入对象。

在 Android 2.1 更新和 2.2.1 中,每当您调用 socket.shutdownOutput() 时,它都会在连接线程中引发异常,我会捕获它并执行finally 进行清理。由于一些有趣的原因,socket.close() 在提到的版本中也不会抛出异常。

在 2.2.2 中,情况并非如此。调用 shutdownOutput()shutdownInput()close() 都不会抛出任何异常,我必须等到套接字在我可以进行任何清理之前调用超时。

谁能解释一下正在发生的事情吗?一个解决方案也很好。

谢谢!

I have a socket connection thread using objectinput and output stream to read and write objects across the socket.

In Android 2.1 update and 2.2.1, whenever you call a socket.shutdownOutput(), it throws an exception in the connection thread, I catch it and do a finally for a a cleanup. For some funny reason socket.close() does not throw an exception in the versions mentioned either.

In 2.2.2, this is not the case. Calling shutdownOutput(), shutdownInput(), close() all do not throw any exceptions at all, and I have to wait until the socket timeout is called before I can do any cleanups.

Can anyone shed some light on what is happening? A workaround solution would be nice too.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

太阳男子 2024-11-14 03:44:28

好吧,我从上次关于这个问题的文章中找到了一些,但解决方法不适用于 2.2.2。 code.google.com/p/android/issues/detail?id=6144 和 code.google.com/p/android/issues/detail?id=7933

Ok I dug up some posts from last time regarding the issue, but the workaround does not work for 2.2.2. code.google.com/p/android/issues/detail?id=6144 and code.google.com/p/android/issues/detail?id=7933

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文