Java BindException多线程服务器

Java BindException多线程服务器,java,multithreading,sockets,exception,binding,Java,Multithreading,Sockets,Exception,Binding,我有3台服务器,在这些服务器中运行以下代码。然而,其中一个给出了错误: Exception in thread "main" java.net.BindException: Address already in use at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.AbstractPlainSocketImpl.bind(Unknown Source) at java.net.Serve

我有3台服务器,在这些服务器中运行以下代码。然而,其中一个给出了错误:

Exception in thread "main" java.net.BindException: Address already in use
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
    at java.net.ServerSocket.bind(Unknown Source)
    at java.net.ServerSocket.<init>(Unknown Source)
    at java.net.ServerSocket.<init>(Unknown Source)
    at MultiThreadServer.main(MultiThreadServer.java:22)

该端口可能已在使用中。尝试使用其他端口

因为一个端口不能被多个程序使用,并且在程序关闭后(特别是当它崩溃时)操作系统可能需要一些时间来清理,如果它是正确的,那么它在其他两个服务器中如何工作?
public class MultiThreadServer implements Runnable {
Socket csocket;
MultiThreadServer(Socket csocket) {
    this.csocket = csocket;
}

public static void main(String args[]) 
        throws Exception {
    ServerSocket ssock = new ServerSocket(8879);
    System.out.println("Listening");
    while (true) {
        Socket sock = ssock.accept();
        System.out.println("Connected");
        new Thread(new MultiThreadServer(sock)).start();
    }

}
public void run() {..}