java - Java Server Socket连续运行会出现什么问题

标签 java networking serversocket

作为我们项目的一部分,我们实现了基于 Java Server Socket 的应用程序,该应用程序将在上午 06:35 到晚上 11:59 之间运行。晚上 11:59 后,我们将停止此过程并于上午 06:35 重新开始。 现在我们需要除了周末之外连续运行这个过程。 问题是如果我们连续运行这个过程,我们会遇到问题吗? java.net.ConnectException:连接被拒绝?如果我们连续运行这个作业,Socket会超时吗?我的要求是在生产中这个过程不应该因为连续运行而抛出任何错误。 请指教?

代码:

SocketConnection socketConnection = new SocketConnection();
ServerSocket serverSocket = socketConnection.getSocketConnection();
while (true)
{
   Socket socket = serverSocket.accept();
   ServerThreadHandler serverThreadHandler = null;
   try
   {
       PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
       BufferedReader in =new BufferedReader(new InputStreamReader(socket.getInputStream()));
       String requestXml = in.readLine();
       //TODo the process
       out.println(responseXml);
   } catch (Exception e)
   {
   }
}

问候, 基兰·T

最佳答案

理论上,ServerSocket连续接受是没有问题的。但是您不需要closeserverSocket.accept()获得的socket吗?

您应该检查文档。如果您需要关闭但没有关闭它,则可能会耗尽资源并最终出现错误。

如果您已经遇到异常,请将堆栈跟踪添加到您的问题中。

关于java - Java Server Socket连续运行会出现什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9572433/

相关文章:

Javax.persistence 与 @Entity bean 将 int[] 保存为 bytea (postgres)

android - 即使您的应用程序未运行,您如何检测 Nougat 上的网络连接丢失?

java - 如何从不同的主机连接到服务器套接字?

Java SocketServer 不受积压值限制

java - 服务器Socket连接Java

java - 从应用程序邀请中获取推荐历史的选项?

java - 如何让Javafx记住表单值?

java - 开发中如何避免在编译时浪费时间?

linux - 在嵌入式 arm 机器上设置 ssh 服务器

cocoa - 获取到达数据包的IP地址