Java: ServerSocket ErrorMessage



我刚刚尝试实现我的第一个服务器,但Java似乎在try-with-resources块中无法识别我的ServerSocket构造函数。

以下代码有什么问题?

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) {

错误消息日食:

  • Serversocket(int) 的构造函数未定义
  • 类型服务器套接字不可见
  • 资源未实现自动关闭
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();
}
}
}

您自己的ServerSocket类和您尝试使用的类之间存在名称冲突。

称它为别的东西,不要那样做。

你应该重命名你的类。

它与 JDK 中的 ServerSocket 类冲突,这是您希望在资源试用中使用的类。

相关内容