Android / Java:java.net.BindException:绑定失败:EADDRINUSE(地址已在使用中)

时间:2013-07-04 10:42:12

标签: java android exception serversocket

我在我的应用上实现了一个服务器套接字。我的应用程序有两个活动,第一个用于向用户显示一些信息并启动第二个活动。 第二个活动包含应用程序和服务器套接字的功能。 现在,我总是使用以下步骤在主题标题中收到错误: 如果我执行以下步骤,则始终生成: 1.启动应用程序2.启动第二个活动3.返回第一个活动4.再次转到我在下面插入的代码的第二个活动(应用程序输入最后一个捕获异常)。

public class ServerThread implements Runnable {
    public void run() {
        try{
            ServerSocket parent = new ServerSocket();
            parent.setReuseAddress(true);
            parent.bind(new InetSocketAddress(SERVERPORT));
            if ( SERVERIP != null){
                handler.post(new Runnable(){
                    @Override
                    public void run(){
                        serverStatus.setText("Listening on IP: " + ip_address_conversion + ":" + SERVERPORT);
                    }
                });

                while (true){
                    Socket client = parent.accept();
                        //do something
                    }
            } else{
                handler.post(new Runnable(){
                    @Override
                    public void run(){
                        serverStatus.setText("Couldn't detect internet connection.");
                    }
                });
            }
        } catch (Exception e) {
            handler.post(new Runnable(){
                @Override
                public void run(){
                    serverStatus.setText("Error undefined");
                }
            });
            e.printStackTrace();
        }
    }
}

所以我的问题是如何避免这个错误或修复它。 我已经检查了这个答案,但在我的情况下没有帮助。 - java.net.BindException: bind failed: EADDRINUSE - Android ServerSocket EADDRINUSE - Android DatagramSocket error message: EADDRINUSE (Address already in use)

由于

0 个答案:

没有答案