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

📄 httpthread.java

📁 <j2me 开发精解> 詹建光著 里所有的源码。对J2me的开发相当有帮助
💻 JAVA
字号:
package com.j2medev.ch6.get;

import java.io.DataInputStream;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;

public class HttpThread implements Runnable{
    
    private String urlData = "";
    private HttpGET midlet = null;
    private boolean done = false;
    public static final String HOST = "http://221.218.211.9:8080";
    
    public HttpThread(HttpGET midlet) {
        this.midlet = midlet;
    }
    
    public void setURLData(String data){
        this.urlData = data;
    }
    
    public void stop(){
        done = true;
    }
    //建立HTTP连接
    public HttpConnection openConnection() throws IOException{
        HttpConnection conn = (HttpConnection)Connector.open(HOST+"/loginapps/login?"+urlData);
        return conn;
    }
    
    public HttpConnection openConnectionViaCMWAP() throws IOException{
        HttpConnection http = (HttpConnection)Connector.open("http://10.0.0.172/"+"loginapps/login?"+urlData);
        http.setRequestProperty("X-Online-Host","www.j2medev.com");
        return http;   
    }
    
    public void run(){
        while(!done){
            //线程启动进入等待状态
            synchronized (midlet) {
                try {
                    midlet.wait();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            
            if(!done){
                try{
                    //建立HTTP连接
                    HttpConnection conn = openConnection();
                    //设置HTTP头属性和HTTP方法,这里使用GET
                    conn.setRequestMethod(HttpConnection.GET);
                    conn.setRequestProperty("User-Agent",
                            "Profile/MIDP-2.0 Configuration/CLDC-1.0");
                    int responseCode = conn.getResponseCode();
                    if(responseCode != HttpConnection.HTTP_OK){
                        //处理错误
                    }
                    //打开输入流,读取服务器返回的结果。100代表成功
                    DataInputStream dis = conn.openDataInputStream();
                    int result = dis.readInt();
                    midlet.displayResult(result);
                    dis.close();
                    conn.close();
                    
                }catch(IOException ex){
                    ex.printStackTrace();
                }
            }
        }
        
    }
}

⌨️ 快捷键说明

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