我刚刚尝试实现我的第一个服务器,但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) {
错误消息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)
你应该重命名你的班级。
它与JDK中的ServerSocket类冲突,后者是您要在try-with-resources中使用的类。
答案 1 :(得分:0)
您自己的ServerSocket
课程与您尝试使用的课程之间存在名称冲突。
称之为别的,不要那样做。