multiserverthread为两种不同类型的客户端

时间:2012-01-12 17:19:16

标签: java

我创建了一个multiserverthread,它接收来自两个不同类型的客户端es的请求。 A和B. 如果客户端A发送请求,则服务器必须执行某些任务,而如果服务器从B接收请求,则执行其他任务。我必须实现两种不同类型的服务器或简单的两种不同类型的线程,使用明显不同的方法run()?

1 个答案:

答案 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并实现任意数量的方法......我只是给你一个样本......但你应该记住斜体字线

希望这可以帮到你..