共有三个类:Server、Client、Test。我需要运行等待客户端并处理它的命令的服务器。在尝试在 Test 中运行两个类时,它会在服务器的 while 中结束(等待套接字上客户端连接的周期):
class Test{
new Server();
new Client();
}
如何运行和调试这种应用程序?
您可以在 Eclipse 中同时运行两个进程。在“debug”中运行Server,在“debug”中运行Test,每个进程都会在指定的断点处停止。据我了解,测试调用客户端命令,对吗?
您无需在同一进程中同时运行两者。
您可以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();
您需要为您的服务器循环启动另一个线程,这通常在测试的设置阶段完成。
假设您使用的是 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();
}
}