2017-09-14 78 views
-2

我剛剛嘗試實現我的第一個服務器,但Java似乎無法識別Try-with-resources塊中的ServerSocket構造函數。Java:ServerSocket ErrorMessage

以下代碼有什麼問題?

import java.io.DataInputStream; 
import java.io.DataOutputStream; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.OutputStream; 
import java.net.Socket; 

public class ServerSocket { 
    public static void main(String[] args) { 

錯誤消息的Eclipse:

  • 的ServerSocket(INT)的構造是不確定的
  • 類型的ServerSocket是不可見的
  • 的資源沒有實現AutoClosable
 try (ServerSocket serverSocket = new ServerSocket(7777)) { 
      Socket clientSocket = serverSocket.accept(); 

      InputStream in = clientSocket.getInputStream(); 
      OutputStream out = clientSocket.getOutputStream(); 

      DataInputStream dataIn = new DataInputStream(in); 
      DataOutputStream dataOut = new DataOutputStream(out); 

      String receivedMessage; 
      receivedMessage = dataIn.readUTF(); 
      System.out.println("Server received from Client: " + receivedMessage); 
      dataOut.writeUTF(receivedMessage); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

你會得到什麼樣的錯誤? –

+0

解決了。一個愚蠢的名字衝突是問題 – John

回答

0

您應該重命名您的班級。

它與JDK中的ServerSocket類衝突,這是您要在try-with-resources中使用的類。

+0

以前從未犯過這樣一個愚蠢的錯誤。感謝你的回答 – John

0

你在你自己的ServerSocket類和你正在嘗試使用的類之間有一個名字衝突。

稱之爲別的東西,不要這樣做。