📄 datagramserver.java
字号:
import javax.microedition.io.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
public class DatagramServer extends MIDlet implements CommandListener, Runnable{
Display display;
TextBox input;
String serverURL = "datagram://:5678";
String message;
Command exitCmd;
Thread t;
public DatagramServer(){
display = Display.getDisplay(this);
input = new TextBox("接收信息", "", 100, TextField.ANY);
t = new Thread(this);
exitCmd = new Command("退出", Command.EXIT, 1);
input.addCommand(exitCmd);
input.setCommandListener(this);
}
public void startApp(){
display.setCurrent(input);
t.start();
}
public void pauseApp(){
}
public void destroyApp(boolean conditional){
}
public void commandAction(Command c, Displayable d){
if( c == exitCmd){
destroyApp(true);
notifyDestroyed();
}
}
public void run(){
while(true){
try{
sendAndReceive(serverURL);
}catch(Exception ex){}
}
}
void sendAndReceive(String url) throws IOException{
DatagramConnection con = (DatagramConnection)Connector.open(url);
Datagram datagramOut = con.newDatagram(100);
Datagram datagramIn = con.newDatagram(100);
try{
/*System.out.println("test2");
con.receive(datagramIn);
byte[] in = datagramIn.getData();
String message = new String(in);
System.out.println(message);
input.insert(message, input.getCaretPosition());*/
System.out.println("test3");
String receive = "received:"+message;
System.out.println(receive);
byte[] out = receive.getBytes();
datagramOut.setData(out, 0, out.length);
System.out.println("test4");
con.send(datagramOut);
System.out.println("test5");
display.setCurrent(input);
}
finally{
if(con != null)
con.close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -