0
我有一个名为class1的中,我有以下代码类:Java线程监视其他线程
public class class1 {
public static ServerSocket serverSocket;
public static void main(String args[]) {
try {
serverSocket = new ServerSocket(1234);
while (true) {
class2 t = new class2(serverSocket.accept());
t.start();
}
} catch (IOException ex) {
Logger.getLogger(LisenerServer.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
因此,在1级我打开一个新的线程为每个连接。
而且我有一个名为类2中,我有以下代码另一个类:
public class class2 extends Thread {
private Socket socket;
public class2(Socket socket) {
try {
this.socket = socket;
in = new BufferedInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());
} catch (IOException ex) {
Logger.getLogger(ListenerServerThread.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public void run() {
while (true) {
try {
// do something with in and out.
} catch (IOException ex) {
System.out.println(ex);
break;
}
}
}
}
我希望客户端(不是Java程序)连接到我的socket服务器并发送蜇命令,我想知道如果客户端(我将通过在类别1中打开的线程名称和/或标识符识别客户端)连接或不连接。
我可以让另一个班级让我们说班级3,我打开一个线程来连续检查客户端是否连接?如果可以,请给我举个例子吗?
为什么不使用RMI? – Makky
http://stackoverflow.com/questions/2170520/inter-thread-communication-in-java其他许多人。你基本上是问“教我如何在Java中进行线程间通信” –
@Makky为什么他会首先使用RMI,他将如何从非Java客户端使用它? –