2012-01-12 54 views
0

我創建一個multiserverthread接收來自兩個不同類型的客戶端es的請求。 A和B. 如果客戶端A發送請求,服務器必須完成一些任務,而如果服務器從B接收請求,則執行其他任務。我必須實現兩種不同類型的服務器或簡單的兩種不同類型的線程與明顯不同的方法運行()?multiserverthread爲兩種不同類型的客戶端

+0

而你的問題是什麼? – Poindexter 2012-01-12 17:20:19

+0

請求是請求,它們來自哪種類型的客戶端並不重要。 – ligerdave 2012-01-12 17:21:55

+0

我必須實現兩種不同類型的服務器類或簡單地兩種不同類型的線程與明顯不同的方法運行() – Mazzy 2012-01-12 17:22:01

回答

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(); 
} 

現在

我認爲這是在運行method..then,

void run(){ 

//JUST CALL 
myserver.performClientTasks(); 
} 

此調用將使其正常工作,因爲performClientTasks()方法將根據myserver中的對象工作。

您可以在interface添加和你想實現儘可能多的方法...我只是給你一個樣本...但是你應該記住,在斜體字線

希望這可以幫助你..

相關問題