我在我的应用程序上实现了一个服务器套接字。我的应用程序有两个活动,第一个仅用于向用户显示一些信息并启动第二个。第二个活动包含应用程序和服务器套接字的功能。现在,我总是使用这些步骤在主题标题中收到错误:如果我执行以下步骤,它总是会生成: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:绑定失败:EADDRINUSE - Android ServerSocket EADDRINUSE - Android DatagramSocket 错误消息:EADDRINUSE(地址已在使用中)
谢谢