J'ai un programme de connexion au serveur par xot (x25 sur tcp/ip) protocole.java: Comment arrêter un thread qui attend de longues périodes
J'ai un thread à connecter, envoyer des données recv avec le serveur en utilisant la bibliothèque xot.
public class MyThread extends Thread{
public MyThread() {
}
@Override
public void run(){
// init sock
...
// connect to server
sock.connect("server_address", timeout);
System.out.println("send data ..");
sock.send(data);
System.out.println("send data ok, recv data ..");
Data data = sock.recv();
System.out.println("recv data ok");
}
}
Mon lib i utilise peut gérer Délai de connexion, mais il n'y a pas de méthode comme setSoTimeout() pour gérer délai lors envoyer des données & recv. Donc, je ne sais pas comment arrêter mythread droit lors de l'envoi & méthode recv exécuté depuis longtemps.
quelqu'un pourrait me suggérer une solution.
grâce
Quan
Notez que vous avez besoin d'un second thread (ou timer) pour déclencher l'interruption car le thread ne peut pas s'interrompre. – Thilo
ok, merci à tous :) – QuanNH
oh, comment ajouter du code pour vérifier l'état d'interruption quand myreadlead suspend à la méthode recv pour attendre resp resp server (pas d'impression "recv data ok") – QuanNH