我在java的一個應用程序,不過是一個遠程server.The遠程服務器,我想設計,以接受兩個類型的客戶端的服務器:創建監聽在兩個不同的端口
1.Some連接在127.0 .0.1在端口6000
2,第二類型的客戶端,在127.0.0.1連接在端口6500
我該怎麼做在於:
我已經試過如下:
public class Start {
Socket socket=null;
private String serverIpAddress="127.0.0.1";
static Thread cThread;
public static void main(String[] args) {
// TODO Auto-generated method stub
ThreadPooledServer server = new ThreadPooledServer(6000);
new Thread(server).start();
cThread = new Thread(new ClientThread());
cThread.start();
}
凡ThreadPooledServer
和ClientThread
是兩個不同的類別。
當我要開始第二個線程....這意味着該行:
cThread.start();
.... java的告訴我說:「開始的類型沒有外圍實例是可訪問的!」
根據我的意思,我不能在同一主體中啓動兩個不同的線程.....好吧,如果我不能這樣做...什麼是正確的方法來做到這一點? ..to啓動兩個線程
1.That在本地機器上偵聽端口6000
2.Second,在端口6500的本地機器上聽???
更新:我想創建一個服務器,可以偵聽多個端口,當我得到一個新的連接,我想能夠告訴哪個端口連接使用!!!!!!!!!!!!
您正在將它們都設置爲您的示例中的相同端口,但按設計失敗:您不能讓兩個應用程序在同一個主機:端口組合中偵聽。你的ClientThread類會發生什麼? – Piskvor 2011-05-18 17:20:06
沒有沒有.....在同一主機上我有兩個線程:一個監聽端口6000,一個監聽另一個端口讓我們說61000 .....我該怎麼做,導致上述代碼definitly將無法正常工作!!!!!? – mariana 2011-05-18 17:22:53
在我的ClientThread類中,我啓動線程來聽第二個線程.....但你沒有仔細閱讀....上述代碼不工作只是一個愚蠢的例子!!!!我的問題我是如何正確地做這件事的? – mariana 2011-05-18 17:24:13