2012-12-27 32 views
0

我試圖用SocketServer的設置服務器使用套接字連接到仿真器

int i =1, PORT = 6666; 
ServerSocket server; 
Socket client; 
try { 
    server = new ServerSocket(6666); 
    for(;;){ 
     client = server.accept();//fail in here 
     textView.setText("server accept..." + i); 
     //new MyHttpServer(client, i, PORT).start(); 
     i++; 
    } 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    //e.printStackTrace(); 
    textView.setText("Fail..."); 
} 

然而,應用程序總是server.accept()停止。我已經爲此應用添加了互聯網權限。我不知道爲什麼?

更新: 我找到了原因。這是因爲線程無法從Active實例啓動。我在沒有線程的情況下將server.accept()放在onStart中。現在我爲它打開一個新的Runnable,然後修復

+0

你接受這個代碼做什麼呢? –

+0

只是試圖打開一個服務器來接受來自客戶端的連接。 – panda

回答

1

可能有多種原因導致您的應用程序無法啓動服務器。我最初的猜測是你試圖在模擬器或設備上運行代碼,並且你已經有一些其他應用程序在該端口上偵聽。

您必須檢查/提供logcat跟蹤以便找出錯誤的原因。

相關問題