java.net.BindException:已在使用的地址:尝试关闭侦听器时出现JVM_Bind错误

时间:2016-05-23 02:18:42

标签: java

当我试图关闭听众时,我收到java.net.BindException: Address already in use: JVM_Bind错误。这是我打开听众的代码。

SMPPServerSessionListener sessionListener = new SMPPServerSessionListener(newPort);

这是关闭它的代码。

    public String getCloseConn() throws IOException{
    System.out.println("porttt: " + newPort);
    SMPPServerSessionListener sess = new SMPPServerSessionListener(newPort); 
    sess.close();

    return "";
}

我的程序所做的是询问用户端口号并在提交时启动它。然后当用户点击"停止服务器"然后我试图关闭监听器。按钮触发getClossConn()方法,但我收到了前面提到的错误。请帮忙。 PS :请不要苛刻我,我只是新来的:)

1 个答案:

答案 0 :(得分:0)

你不应该打电话

SMPPServerSessionListener sess = new SMPPServerSessionListener(newPort); 

希望获得现有的监听器。该语句尝试在与现有侦听器相同的端口上创建一个NEW侦听器,这会导致您看到的错误。

您应该将对现有会话的引用传递给close方法,然后关闭