Hi!
I'm new in this forum and i new too programming in BB. I have a question about UDP. I search about UDP connection here and i find this:
PHP Code:
/*
* RIMJUDPClient.java
*
* © <your company here>, 2003-2007
* Confidential and proprietary.
*/
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.io.*;
import net.rim.device.api.system.*;
import net.rim.device.api.util.*;
import javax.microedition.io.*;
import java.util.*;
import java.io.*;
class RIMJUDPClient extends UiApplication
{
static PersistentObject store;
static
{
store = PersistentStore.getPersistentObject( 0xb309d389c6a2436dL );
}
public RIMJUDPClient()
{
pushScreen(new RimUDPClient());
}
public static void main(String argsxxx91;xxx93;)
{
RIMJUDPClient rimJApp = new RIMJUDPClient();
rimJApp.enterEventDispatcher();
}
public class RimUDPClient extends MainScreen
{
private LabelField title;
private EditField editProtocol;
private EditField editMessage;
private RichTextField editMsg;
public String sProtocol;
public String sMessage;
public String sReceivedMessage;
private sendThread sTh;
private String mm ="Test Message";
public Vector sVector;
public RimUDPClient()
{
super();
sVector = new Vector(10);
title = new LabelField("UDP CLient",LabelField.USE_ALL_WIDTH);
setTitle(title);
// udp://10.1.0.122:5029;19780/rim.net.gprs
// udp://127.0.0.1:5029;19780/rim.net.gprs : Use This String for Local Testing
// udp://<Public IP>:<UDP Port>;19780/proxy : Use This String With AT&T GPRS Service
// udp://<Public IP>:<UDP Port>;19780/internet3.voicestream.com : Use This String With T-Mobile GPRS Service
editProtocol = new EditField("Protocol :","udp://10.1.0.122:5029;19780/rim.net.gprs");
editMessage = new EditField("Message : ",mm);
editMsg = new RichTextField("Message");
add(editProtocol);
add(editMessage);
add(editMsg);
}
public void storeMessage(String sMsg)
{
try
{
sVector.addElement(sMsg);
System.out.println("Vector Size :" + sVector.size());
synchronized(store)
{
store.setContents(sVector);
store.commit();
}
}
catch (Exception ex)
{
System.err.println("Error while Storing" + ex);
}
}
private MenuItem _sendItem = new MenuItem("Send Package",110,10)
{
public void run()
{
sProtocol = editProtocol.getText().trim();
sTh = new sendThread();
sTh.start();
}
};
private MenuItem _onCloseItem = new MenuItem("Close",200000,10)
{
public void run()
{
onCLose();
}
};
protected void makeMenu(Menu menu,int instance)
{
menu.add(_sendItem);
menu.add(_onCloseItem);
}
public boolean onCLose()
{
Dialog.alert("Good Bye");
Dialog.alert("Msg: " + sReceivedMessage);
System.exit(0);
return true;
}
protected void disPlayMessage(final String str)
{
Application.getApplication().invokeLater(new Runnable()
{
public void run()
{
Dialog.alert("Msg Recvd. : " + str.trim());
editMsg.setText(str.trim());
}
});
}
private class sendThread extends Thread
{
DatagramConnection conn = null;
public void run()
{
try
{
String msg = editMessage.getText();
int length = msg.length();
bytexxx91;xxx93; message = new bytexxx91;lengthxxx93;;
System.arraycopy(msg.getBytes(), 0, message, 0, length);
conn = (DatagramConnection)Connector.open((editProtocol.getText()).trim());
Datagram outDatagram = conn.newDatagram(message, message.length);
conn.send(outDatagram);
int i= 0;
while(true)
{
Datagram inDatagram = conn.newDatagram(conn.getMaximumLength());
conn.receive(inDatagram);
bytexxx91;xxx93; data = inDatagram.getData();
String retval = new String(data, 0, inDatagram.getLength());
disPlayMessage(retval);
storeMessage(retval);
System.out.println(inDatagram.getAddress() + " at port says " + i +" : " + sReceivedMessage );
i++;
}
}
catch (Exception e)
{
disPlayMessage("Error:" + e.toString());
return;
}
finally
{
// if (conn != null) conn.close();
}
} // Send Thread Run Method End Here
} // Send Thread Class Ends Here
}
} // Main Class RIMJavaUDP Client Ends Here
this code was written by Dev2100.
when i run the program in the simulator, it no return nothing. is an error of the code?
another thing...
i want to send by UDP a location, i have de program tha search the location, how can implement this code in my program???
thanks a lot ;)