我正在开发应用程序,在该应用程序中,我在读取和写入套接字之前检查端口的可用性。我正在使用以下代码检查状态
private boolean isAvailable(String host, int port) {
try {
Socket socket = new Socket();
socket.connect(new InetSocketAddress(host, port), 1000);
isPortAvailable = socket.isConnected();
} catch (IOException e) {
isPortAvailable = false;
}
return isPortAvailable;
}
在此之后,我正在检查此状态onClick()
if (isAvailable(ip, Integer.parseInt(portLVR))) {
startActivity(new Intent(getApplicationContext(),ActivityLivingRoom.class));
} else
Toast.makeText(getApplicationContext(),"Connection Error !", Toast.LENGTH_SHORT).show();
但我的问题是,如果我在主线程上检查此状态,那么 android 会给我networkonMainThradException
,那么我如何使用后台线程管理此操作?