Hallo Ich habe eine Anwendung, die auf einem Remote-Server über SocketsAndroid Buchse Warte Ausgabe
socket = new Socket();
socket.connect(new InetSocketAddress(Ip, portNum), 7000);
Ich habe 2 Methoden & Verbindung erhalten
das Szenario in send senden ist
PrintWriter out = new PrintWriter(socket.getOutputStream(),true);
in der Methode erhalten
String msg = "";
BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (in.ready()) {
msg = msg + (char) in.read();
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
in AsyncTask einer anderen Klasse I
send();
String response=receive();
Der obige Code ohne Wartezeit ist nicht das Senden oder Empfangen
dh
Thread.sleep(2000);
Ich weiß Schlaf nennen, ist ein schlechter Ansatz was ist das beste Szenario sollte ich verwenden?
Ist es besser, eine AsyncTask innerhalb der Sendemethode und eine weitere für die Empfangsmethode zu erstellen.
Hier ist, wo ich schlafen verwenden und Daten, was & senden empfangen
client.send(some sql statement representED as json format);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// sql select result represented as json
String RESULT = client.recive();
Wir können nicht sehen, wo Sie diese Sleep-Anweisung haben. Oder wenn du zwei von ihnen hast. – greenapps
Weiter sollten Sie uns erzählen und zeigen, was Sie senden. Und was Sie als Antwort erwarten. – greenapps
Ich habe die Frage bearbeitet, um zu zeigen, wann ich Schlaf anrufe und welche Daten gesendet und empfangen wurden. – Radwa