2013-03-21 48 views
0

該應用程序使用套接字連接到計算機,但只有當計算機通過以太網電纜連接到網絡時纔會連接。我試過禁用防火牆,但沒有區別。Android應用程序將無法連接到無線連接到網絡的計算機

用於在計算機上的服務器中的代碼:

int port = 7936;   

while(true){ 
ServerSocket server = new ServerSocket(port); 
System.out.println("Waiting for client ..."); 
Socket client = server.accept(); 
System.out.println("Client from "+client.getInetAddress()+" connected"); 

InputStream in = client.getInputStream(); 

和用於在應用程序中的客戶端的代碼:需要

Socket socket = new Socket(address,7936); 
OutputStream out = socket.getOutputStream(); 
String action = "2"; 
byte[] actByte = action.getBytes(); 
out.write(actByte); 
socket.close(); 

地址由用戶輸入定義的和所有的權限已被在清單xml文件中設置。 感謝您的幫助。

編輯

對不起,在回答給出的答案時出現延遲。之後我就可以在不同的網絡上嘗試該程序,並且可以與無線連接的計算機一起工作,因此看起來問題出在網絡而不是代碼上。

感謝大家的回答,我很抱歉花了我很長時間回覆。

+0

您是否嘗試過在無線服務器正在使用時禁用服務器上的有線適配器? – diversemix 2013-03-21 14:21:02

+1

您在客戶端或服務器上遇到錯誤嗎? – faceman 2013-03-21 14:22:44

+0

您應該提供更多詳細信息:服務器操作系統,防火牆狀態,日誌記錄爲@faceman說的等。 – adrianp 2013-03-21 14:41:29

回答

0

正如其他人所提到的,需要更多信息。當您斷開計算機與有線連接的連接時,我認爲它正在切換到無線網絡,並且您已驗證您在線。您的計算機很可能會獲得不同的IP地址,如果您是接口更改的DHCP,那麼MAC地址也不會相同。

檢查計算機上的地址,並確認您的地址是否正確。

0

我在想什麼是套接字沒有綁定到你認爲它的IP地址。您可能希望嘗試使用TcpListener類,這樣您可以將它綁定到所需的IP地址(網絡適配器)。

相關問題