Во-первых, когда вы используете подобный цикл while, вы не должны помещать сон в метод try.
while(true)
{
try{
String url="http://192.19.18.10:8084/SFTS/updateLocation.jsp?empid=12304&lat="+lan+".23&lon=21.998;interface=wifi";
StreamConnection conn = (StreamConnection)Connector.open(url, Connector.READ_WRITE);
conn.openInputStream();;
}catch(Exception e)
{
e.printStackTrace();
}
try {
Thread.sleep(30*1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Во-вторых, вы постоянно пытаетесь создать новый поток безпервое закрытие предыдущего соединения.Либо прочитайте о том, как StreamConnection работает эффективно, либо просто используйте ConnectionFactory, а не StreamConnection.
ConnectionFactory connFact = new ConnectionFactory();
ConnectionDescriptor connDesc;
connDesc = connFact.getConnection(url);
if (connDesc != null) {
try {
HttpConnection httpConn;
httpConn = (HttpConnection) connDesc.getConnection();
httpConn.close();
} catch (IOException e) {
System.err.println("Caught IOException: " + e.getMessage());
}
Выше приведено для OS 5 и выше, в вашем случае ... так как соединение кажется работающимв первый раз в вашем существующем коде я попытался бы просто закрыть соединение, используя:
conn.close();