Привет, у меня есть клиент Tcp, и я хочу проверить, подключен ли он к серверу, и я не хочу проверять, был ли он подключен к socket.isConnected() или socket.isBound () я имею в виду, что я хочу знать, если сокет подключен прямо сейчас, и я не мог найти способ сделать это, потому что, когда разъединение сервера он dosnt послать что-нибудь клиентAndroid Tcp Client проверяет соединение с сервером
вот мой код:
public void sendMessage(String message) {
if (out != null && !out.checkError()) {
out.println(message);
out.flush();
}
}
public void stopClient() {
mRun = false;
}
public void run() {
mRun = true;
try {
//connecting
InetAddress serverAddr = InetAddress.getByName(SERVERIP);
Socket socket = new Socket(serverAddr, SERVERPORT);
sss = socket;
try {
//send the message to the server
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
//receive the message that the server sends back
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
HelloService.firstTouch();
//in this while the client listens for the messages sent by the server
while (mRun) {
serverMessage = in.readLine();
if (serverMessage != null && mMessageListener != null) {
//call the method messageReceived from MyActivity class to inform main activity that a message has received
mMessageListener.messageReceived(serverMessage);
}
serverMessage = null;
}
} catch (Exception e) {
} finally {
socket.close();
}
} catch (Exception e) {
}
}
Если ответ @ EJP не работает для вас (хм-м), попробуйте выполнить ping-сервер или использовать 'isReachable()'. – Onik
попытался, но он все время возвращал ложь что-нибудь еще? его очень важно, пожалуйста, кто-нибудь? –
Не 'isReachable()' return 'false' означает, что сервер отключен? – Onik