1
我需要在j2me設備上同時打開兩個http連接。所以我在兩個線程中打開了兩個HttpConnection。但有時一個連接收到另一個連接的數據。我怎麼解決這個問題?
我在諾基亞N70上測試應用程序。J2me多線程http數據泄露來自另一個線程
代碼很大。我嘗試寫一些簡單的僞代碼。
http.java:
public class Http
{
public Http()
{
}
public void start(String url) {
new Thread() {
public void run() {
getHttp(url);
}
}.start();
}
private void getHttp(String url) {
InputStream is = null;
HttpConnection http=null ;
try {
http= (HttpConnection) Connector.open(url);
httpCode = http.getResponseCode();
is = http.openInputStream();
int ic;
byte[] tmp = new byte[1024];
while (!cancel && (ic = is.read(tmp, 0, 1024)) != -1) {
line.append((char) ic);
bao.write(tmp, 0, ic);
}
//httpnotify.receive(bao.toByteArray) ;
} catch (Exception e) {
}
}
}
客戶端1:
Http http=new Http() ;
http.setNotify(self) ;
http.start("http://....") ;
客戶端2:
Http http2=new Http() ;
http2.setNotify(self) ;
http2.start("http://....") ;
Ç ö請 –
請告訴我們你是如何做到這一點。 –