⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 obexserver.java

📁 j2me简单实例,j2me教程加源码,希望大家喜欢
💻 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 + -