Java 找不到服务器线程方法getInstance()

Java 找不到服务器线程方法getInstance(),java,multithreading,client-server,Java,Multithreading,Client Server,我正在尝试使用以下代码运行服务器。但是当我尝试创建线程时,我得到的方法getInstance()未找到错误。请帮助 import java.net.*; import java.io.*; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; public class Server { public static void main(String args[

我正在尝试使用以下代码运行服务器。但是当我尝试创建线程时,我得到的
方法getInstance()
未找到错误。请帮助

import java.net.*;
import java.io.*;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Server {
   public static void main(String args[]) {       
     Thread discoveryThread = new Thread(DiscoveryThread.getInstance());    
     discoveryThread.start();
   }   
}

class DiscoveryThread implements Runnable {
  DatagramSocket socket;    

  @Override
  public void run() {
    try {
      //Keep a socket open to listen to all the UDP trafic that is destined for this port
      socket = new DatagramSocket(8888, InetAddress.getByName("0.0.0.0"));
      socket.setBroadcast(true);

      while (true) {
        System.out.println(getClass().getName() + ">>>Ready to receive broadcast packets!");

        //Receive a packet
        byte[] recvBuf = new byte[15000];
        DatagramPacket packet = new DatagramPacket(recvBuf, recvBuf.length);
        socket.receive(packet);

        //Packet received
        System.out.println(getClass().getName() + ">>>Discovery packet received from: " + packet.getAddress().getHostAddress());
        System.out.println(getClass().getName() + ">>>Packet received; data: " + new String(packet.getData()));

        //See if the packet holds the right command (message)
        String message = new String(packet.getData()).trim();
        if (message.equals("DISCOVER_FUIFSERVER_REQUEST")) {
          byte[] sendData = "DISCOVER_FUIFSERVER_RESPONSE".getBytes();

          //Send a response
          DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, packet.getAddress(), packet.getPort());
          socket.send(sendPacket);

          System.out.println(getClass().getName() + ">>>Sent packet to: " + sendPacket.getAddress().getHostAddress());
        }
      }
    } catch (IOException ex) {
      Logger.getLogger(DiscoveryThread.class.getName()).log(Level.SEVERE, null, ex);
    }
  }
  }
错误:

Server.java:10: error: cannot find symbol
Thread discoveryThread = new Thread(DiscoveryThread.getInstance());
                                                        ^
  symbol:   method getInstance()
  location: class DiscoveryThread

DiscoveryThread
类似乎没有
getInstance()
方法。试着用
new
来构造它。

为什么不
newdiscoverythread
?为什么你对没有编写或继承的方法不存在感到惊讶呢?
DiscoveryThread
类似乎没有
getInstance()
方法。试着用
new
来构建它。@WarrenDew谢谢..@techno因为它有帮助,我将把它作为一个答案发布。