?? obexserver.java
字號:
package com.j2medev.chapter9;
import java.io.DataInputStream;
import java.io.IOException;
import javax.microedition.io.Connection;
import javax.microedition.io.Connector;
import javax.microedition.lcdui.*;
import javax.obex.*;
public class OBEXServer extends ServerRequestHandler implements Runnable,CommandListener{
private OBEXMIDlet midlet = null;
private SessionNotifier server = null;
private Form form = null;
private Command cancelCommand = new Command("cancel",Command.BACK,1);
private boolean closed = false;
public OBEXServer(OBEXMIDlet _midlet) {
midlet = _midlet;
form = new Form("server");
form.addCommand(cancelCommand);
form.setCommandListener(this);
midlet.setCurrent(form);
}
public void run() {
//啟動服務器,監聽端口5000
try {
server = (SessionNotifier)Connector.open("tcpobex://:5000");
} catch (IOException ex) {
ex.printStackTrace();
return;
}
form.append("server has been started,waiting for client session....");
while(!closed){
try {
//等待客戶端連接
Connection conn = server.acceptAndOpen(this);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
public void commandAction(Command command, Displayable displayable) {
if(command == cancelCommand){
//關閉服務器,并返回。
closed = true;
try {
server.close();
server = null;
} catch (IOException ex) {
ex.printStackTrace();
}
midlet.show();
}
}
//響應客戶端的PUT操作
public int onPut(Operation op){
try {
HeaderSet header = op.getReceivedHeaders();
System.out.println(header.getHeader(HeaderSet.LENGTH).toString());
//接收Account對象,并顯示在Form上
DataInputStream dis = op.openDataInputStream();
String user = dis.readUTF();
form.append("username="+user+"\n");
String pass = dis.readUTF();
form.append("password="+pass+"\n");
//關閉
dis.close();
op.close();
} catch (IOException ex) {
ex.printStackTrace();
//出錯
return ResponseCodes.OBEX_HTTP_INTERNAL_ERROR;
}
return ResponseCodes.OBEX_HTTP_OK;
}
//連接成功
public int onConnect(HeaderSet request, HeaderSet reply) {
return ResponseCodes.OBEX_HTTP_OK;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -