有三个类:Server,Client,Test。我需要运行等待客户端的服务器并处理它的命令。尝试在Test中运行两个类时,它最终会在服务器中运行(在套接字上进行客户端连接的等待周期):
class Test{
new Server();
new Client();
}
如何运行和调试这种应用程序?
答案 0 :(得分:3)
您可以同时在Eclipse中运行两个进程。 在“debug”中运行Server并在“debug”中运行Test,这些进程将在指定的断点中停止。据我所知,Test调用客户端命令,对吧? 您不需要在同一个进程中运行它们。
答案 1 :(得分:3)
您可以像这样创建两个Threads
:
Thread serverThread = new Thread(new Runnable() {
@Override
public void run() {
new Server();
}
});
Thread clientThread = new Thread(new Runnable() {
@Override
public void run() {
new Client();
}
});
serverThread.start();
clientThread.start();
答案 2 :(得分:1)
您需要为服务器循环启动另一个线程,这通常在测试的设置阶段完成。
假设您正在使用JUnit 4。
class Test {
@BeforeClass
public static void setup() {
new Thread() {
public void run() {
new Server();
}
}.start();
}
@AfterClass
public static void teardown() {
// stop the server (somehow)
}
@Test
public void test() {
new Client();
}
}