Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ServerSocket端口在运行多个线程时将状态更改为FinWait2(java)_Java_Lotus Notes_Serversocket_Jdk1.6 - Fatal编程技术网

ServerSocket端口在运行多个线程时将状态更改为FinWait2(java)

ServerSocket端口在运行多个线程时将状态更改为FinWait2(java),java,lotus-notes,serversocket,jdk1.6,Java,Lotus Notes,Serversocket,Jdk1.6,我在我们的一个客户的项目中遇到了意想不到的行为 我的程序正在处理来自多个时间终端的数据,并将数据发送到notes服务器。 程序为每个给定的IP地址启动一个NotesThread,该线程通过TCP处理notes服务器和时间终端数据之间的通信。为了退出应用程序,我实现了另一个线程,该线程正在侦听特定的唯一端口 由于未知原因,第一个ServerSocket在打开第二个TimeTerminal NotesThread时关闭 Powershell中终止侦听器端口的输出如下所示: 命令:while($tru

我在我们的一个客户的项目中遇到了意想不到的行为

我的程序正在处理来自多个时间终端的数据,并将数据发送到notes服务器。 程序为每个给定的IP地址启动一个NotesThread,该线程通过TCP处理notes服务器和时间终端数据之间的通信。为了退出应用程序,我实现了另一个线程,该线程正在侦听特定的唯一端口

由于未知原因,第一个ServerSocket在打开第二个TimeTerminal NotesThread时关闭

Powershell中终止侦听器端口的输出如下所示:

命令
while($true){Get nettcpcconnection-Localport 486784867948680-ErrorAction“SilentlyContinue”;sleep 1}

  • ::48678::0听
  • ::48678::0听
  • ::48678::0听
  • ::48679::0听
  • 127.0.0.1 48678 127.0.0.1 60977 FinWait2数据中心
    public void run() {     
        ServerSocket listenSocket = null;
        Socket clientSocket = null;
    
        try {
            listenSocket = new ServerSocket(port);
            clientSocket = listenSocket.accept();
        } catch (IOException ioe) { 
                // log output
        } finally {
            try {
                clientSocket.close();
                listenSocket.close();
            } catch (Exception ex) { 
                // log output
            }
        }
    }
    
    for (String IP: IPs) {
            new TimeTerminalService(IP, port, AllowLog, terminatePort, LogPath).start();
            if (serviceCounter < serviceCount) {
                try {
                    Thread.sleep(5000);
                    serviceCounter++;
                    terminatePort++;
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }