2012-03-02 78 views
0

目前我使用下面的代碼與服務器TCP/IP的開放連接

public String connectToserverforincomingmsgs(String phonurl, String phno) 
     throws IOException { 
    URL url = new URL(phonurl); 
    HttpURLConnection con = (HttpURLConnection) url.openConnection(); 
    con.setDoInput(true); 

    // Allow Outputs 
    con.setDoOutput(true); 
    con.connect(); 
    BufferedWriter writer = null; 
    writer = new BufferedWriter(new OutputStreamWriter(
      con.getOutputStream(), "UTF-8")); 
    // give server your all parameters and values (replace param1 with you 
    // param1 name and value with your one's) 
    writer.write("sender_no=" + phno); 

    writer.flush(); 

    String responseString = ""; 

    BufferedReader reader = null; 
    reader = new BufferedReader(new InputStreamReader(con.getInputStream())); 
    String line; 

    while ((line = reader.readLine()) != null) { 
     responseString = responseString.concat(line); 
    } 
    con.disconnect(); 
    return responseString; 

} 

互動我怎麼能做出TCP連接.right現在我沒有任何想法。我是新來的android和java以及所以任何關於TCP連接的示例代碼將不勝感激

+0

你想的是什麼協議使用?它是HTTP還是你想實現你自己的? – 2012-03-02 11:39:10

+0

@Demand如果需要,我想使用xmpp – BOBRA 2012-03-02 11:43:45

+0

,您需要使用Socket作爲寫入Vivek,或者您可以搜索庫,實現XMPP。 – 2012-03-02 11:48:35

回答

0

只需用Socket替換HttpURLConnection。它的工作原理幾乎相同

+0

它顯示此錯誤「無法從URLConnection投射到套接字」 – BOBRA 2012-03-02 11:48:06

+0

BOBRA當我說'替換'時,您需要替換它/無處不在/ – 2012-03-02 12:47:45

+0

,它不僅僅是替換。但基本原則是一樣的。 – njzk2 2012-03-02 12:56:07

3

要創建你需要使用套接字一個TCP連接:

Socket socket = new Socket(host_name_or_ip_address, port_no); 

發送數據使用socket.getOutputStream()

接收數據使用socket.getInputStream()

+0

@vivk thnx作爲答案我只想問一件事是:端口號可以是任何或特定的;如果具體如何知道 – BOBRA 2012-03-02 12:10:30

+0

您需要指定服務器應用程序的端口號。並且host_name_or_ip_address是您的服務器。 – 2012-03-03 04:39:08