我创建了一个multiserverthread,它接收来自两个不同类型的客户端es的请求。 A和B. 如果客户端A发送请求,则服务器必须执行某些任务,而如果服务器从B接收请求,则执行其他任务。我必须实现两种不同类型的服务器或简单的两种不同类型的线程,使用明显不同的方法run()?
答案 0 :(得分:0)
我建议您使用interface
并在ServerClasses
即,
interface BasicServer{
void performClientTasks();
}
现在在ServerClasses中实现它
class YourFirstServer extends ..... implements BasicServer{
..........
void performClientTasks(){
//STUFF FOR FIRST SERVER
}
现在是下一个服务器类
class YourSecondServer extends ..... implements BasicServer{
..........
void performClientTasks(){
//STUFF FOR Second SERVER
}
现在保留您想要对象的接口的引用...即
BasicServer myserver;
现在,在您想要:::
时分配正确的对象if(CLIENT1_IS_THERE){
//ACTIVATE FIRSTSERVER
myserver = new YourFirstServer();
}
else
{
//NOW CLIENT2 IS THERE.SO ACTIVATE SECONDSERVER
myserver = new YourSecondServer();
}
现在您想要执行任务
我认为这是在运行方法..然后,
void run(){
//JUST CALL
myserver.performClientTasks();
}
此调用将使其正常工作,因为performClientTasks()
方法将根据myserver
内的对象生效。
你可以添加interface
并实现任意数量的方法......我只是给你一个样本......但你应该记住斜体字线
希望这可以帮到你..