2012-12-13 44 views
-1

我想發送一個字符串數據,「」,以字節格式的服務器在Android應用程序。我使用HttpClient,但我認爲它不是正確的方式,請幫助我如何做到這一點?如何以字節格式向服務器發佈字符串數據?

在.net的情況下,我想在java中類似的代碼。

string boundary = Guid.NewGuid().ToString(); 
    HttpWebRequest request = HttpWebRequest.Create(url) 
     as HttpWebRequest; 
    request.Method = "POST"; 
    //request.ContentType = "application/json"; 
    request.PreAuthenticate = true; 

    byte[] fulldata = Encoding.UTF8.GetBytes(data); 
    request.ContentLength = fulldata.Length; 
    using (Stream sw = request.GetRequestStream()) 
    { 
     sw.Write(fulldata, 0, fulldata.Length); 
    } 
+0

「我認爲它不正確的方式」 - 你可以嘗試:信鴿IP通訊(IPoAC)如果你覺得一個HttpClient的不適合,它具有很高的延遲,但可以在單個數據包中傳遞大量數據[請參閱http://en.wikipedia.org/wiki/IP_over_Avian_Carriers] –

+0

使用HttpClient可以將字節數據發送到服務器。看到我的答案希望它會幫助你。 –

回答

1

首先你的字符串數據轉換爲字節,並通過使用ByteArrayEntity字節格式將數據發送到服務器。

嘗試這樣

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("http://192.168.1.1/xxx"); 
HttpResponse response; 
HttpParams hp = new BasicHttpParams(); 

//use ByteArrayEntity to send string data in byteformat 
ByteArrayEntity byteEntity = new ByteArrayEntity(byte_data); 
httppost.setEntity(byteEntity); 
response = httpclient.execute(httppost); 
+0

我得到一個錯誤,java.net.UnknownHostException:xxxx.sitename.com,在線,\t \t \t HttpResponse responseHttpResponse = httpclient.execute(httppost); –

+0

你有沒有在清單中使用權限,如

+0

轉到此鏈接.. http://guerrarj.hubpages.com/hub/Tips-to-solve- the-UnknownHostException-on-Android ..可能你有其中一個解決方案的問題.. –

相關問題