我有这个可运行的接收器,我想停下来。但由于它是一个不断接收的套接字,它的线程处于阻塞模式。
我发现我必须使用socket.close()
从线程本身外部停止套接字所以我定义了一个公共静态套接字。 (这本身就很糟糕,我猜?)然后我开始新线程并尝试使用此代码停止它们(没有改变任何东西)
public static DatagramSocket socket;
单独启动每个线程都可以正常工作。但由于套接字现在是全局的,我无法单独阻止它们。如何使socket var全局但个性化?或者我需要做些什么呢?
public void startSls () throws SocketException{
try{
socket = new DatagramSocket(parseInt(port));
}catch (SocketException e) {
Log.e("CCSstream", e.toString());
}
slst = new Thread(new slss(port));
slst.start();
}
public void stopSls(){
socket.close();
stopSLS = true;
slst.interrupt();
runThreads1 = false;
}
如果有什么不清楚我可以解释。
由于