在Java中侦听连接时防止崩溃

  • 本文关键字:崩溃 连接 Java java sockets
  • 更新时间 :
  • 英文 :


有什么方法可以防止我的应用程序在创建套接字后立即崩溃吗?此程序在收到连接后立即解冻,但可能会误导用户。

我试着把套接字创建方法等放在一个线程中,并从那里运行它,但没有成功。

编辑:除非给插座一段设定的时间,然后在到期后断开连接是可行的?

在一个单独的线程中运行它是正确的方法,因为Socket.accept()调用是阻塞的(即它阻塞您调用它的线程,直到它获得连接)。

您的线程体系结构一定有问题。张贴一些代码,也许我可以告诉你确切的内容。

编辑:给套接字一个短的超时不会避免阻塞,或者在有人连接之前超时,而在超时之前获得连接与当前设置没有任何区别。

您的程序不会崩溃,它只是在等待连接,因为java.io库正在阻塞。

为了防止等待连接,您可以使用非阻塞java.nio启动一个新的Thread,并让这个新线程成为等待连接的线程。

最新更新