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

📄 httpthread.java

📁 一个手机上的IM 即时通信工具完整代码 J2ME项目
💻 JAVA
字号:
package myim.logic;

import java.io.*;
import javax.microedition.io.*;

/**
 * 网络连接功能类
 */
public class HttpThread extends Thread {
    /**服务器URL地址*/
    private final String URL = "http://127.0.0.1:6666/server.jsp";
    /**指令信息*/
    private byte[] data;
    /**反馈信息处理对象*/
    private HttpListener httpListener;
    /**默认构造方法*/
    private HttpThread() {}

    /**
     * 使用反馈信息处理对象和指令数据来创建对象
     * @param httpListener HttpListener 反馈信息处理对象
     * @param data byte[] 指令数据
     */
    public HttpThread(HttpListener httpListener, byte[] data) {
        this.httpListener = httpListener;
        this.data = data;
        //启动线程
        this.start();
    }
    /**
     * run方法
     */
    public void run(){
        try{
            //连接服务器
            HttpConnection hc = (HttpConnection)Connector.open(URL);
            //设置提交数据方法
            hc.setRequestMethod(HttpConnection.POST);
            //打开输出流
            OutputStream os = hc.openOutputStream();
            //发送数据
            os.write(data);
            os.flush();
            //关闭输出流
            os.close();

            //获得服务器反馈
            int code = hc.getResponseCode();

            System.out.println(code);
            //如果是成功
            if(code == HttpConnection.HTTP_OK){//响应成功
                //获得反馈数据长度
                int length = hc.getHeaderFieldInt("Content-Length",1024);
                //构造反馈数组
                byte[] resData = new byte[length];
                //打开输入流
                InputStream is = hc.openInputStream();
                //读取反馈数据
                is.read(resData);
                //关闭输入流
                is.close();
                //关闭网络连接
                hc.close();
                //处理反馈数据
                httpListener.getResponse(resData);
            }else{ //如果反馈其他数据

                //将反馈的code转换为说明文字
                String msg = codeToStr(code);
                //关闭网络连接
                hc.close();
                //处理错误
                httpListener.doError(msg);
            }
        }catch(ConnectionNotFoundException e){ //服务器未找到
            httpListener.doError("服务器未找到!");
        }catch(IOException e){
            httpListener.doError("IO错误!");
        }catch(Exception e){
            httpListener.doError("其他错误!");
        }
    }
    /**
     * 将反馈的code转换为说明文字
     * @param code int 反馈code
     * @return String 说明文字
     */
    private String codeToStr(int code){
        return "";
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -