所以我正在创建服务器套接字我调用构造函数来构造serversocket然后调用getLocalPort方法来获取本地端口但是server.getLocalPort();抛出空指针异常,我无法弄清楚为什么我难倒。我确定它有些愚蠢的错误,但我无法看到它。
public SServer(int port) throws SocketException, IOException
{
ServerSocket server = new ServerSocket(port);
server.setReuseAddress(true);
}
public int getLocalPort() {
int port = server.getLocalPort();
return port;
}
答案 0 :(得分:1)
您在构造函数中初始化局部变量,而不是初始化类的成员。因此,您的server
成员仍为空。
更改
public SServer(int port) throws SocketException, IOException
{
ServerSocket server = new ServerSocket(port);
server.setReuseAddress(true);
}
到
public SServer(int port) throws SocketException, IOException
{
server = new ServerSocket(port);
server.setReuseAddress(true);
}