`
micheal19840929
  • 浏览: 167877 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

J2ME SOCKET

    博客分类:
  • J2ME
阅读更多

一、tomcat目录:

将类放在:$tomcat\webapps\Root\web_inf\classes\

将HTML放在:$tomcat\webapps\Root\

对于自己的工程项目,可以在webapps下自己建立一个目录。比如

$tomcat\webapps\mywork\

那么自己的所有类需要放在:

$tomcat\webapps\mywork\web_inf\classes\下。对一些所有工程都共享的组件类,建议仍然放在$tomcat\webapps\Root\web_inf\classes\下


如果是resin:

html=>$resin\doc\

class=>$resin\doc\web_inf\classes\

servlets=>$resin\doc\web_inf\classes\

2、启动

1)      设置java_home


2)      运行:

 

 

3)      运行测试:

 

3、修改配置:

D:\jbuildre2005\thirdparty\jakarta-tomcat-5.0.27\conf\目录下

所有XML就是配置文件。比如要将启动的端口改动为:9000

那么,打开server.xml:


将port=”8080”改为9000即可


 

4、MIDP中使用HTTP:

 


1)      需要的头:

import java.io.*;

import javax.microedition.io.*;

import javax.microedition.lcdui.*;

import javax.microedition.midlet.*;

2)主要方法:

//Get方法

       public void HTTPGet(String urlStrGet) throws IOException {

              HttpConnection hc = null;                           //HttpConnection连接

              InputStream is = null;                                //用于读入数据

              StringBuffer buf = new StringBuffer();        //用于保存服务器的响应数据

              TextBox t = null;

              

              try{

                     //打开一个HttpConnection连接

                     hc = (HttpConnection)Connector.open(urlStrGet);

                     //设置请求方法

                     hc.setRequestMethod(HttpConnection.GET);

                     //设置请求属性

                     hc.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");

                     is = hc.openDataInputStream();

                     int ch;

                     //接收服务器的响应数据            

                     while((ch = is.read()) != -1) {

                            buf.append((char) ch);

                     }

                     

                     t = new TextBox("Get Test Page", buf.toString(), 1024, 0);

                     t.addCommand(back);

                     t.setCommandListener(this);

              }finally {

                            is.close();

                            hc.close();

                     }

              display.setCurrent(t);

       }

       //POST方法

       public void HTTPPost(String urlStrPost) throws IOException {

              HttpConnection hc = null;                           //HttpConnection连接

              InputStream is = null;                                //用于读入数据     

              OutputStream os = null;                      //用于发出请求

              StringBuffer buf = new StringBuffer();        //用于保存服务器的响应数据

              TextBox t = null;

              

              try{

                     //打开一个HttpConnection连接

                     hc = (HttpConnection) Connector.open(urlStrPost);

                     //设置请求方法

                     hc.setRequestMethod(HttpConnection.POST);

                     //设置请求属性

                     hc.setRequestProperty("CONTENT-TYPE","application/x-www-form-Agent");

                     hc.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");

                     hc.setRequestProperty("Content-Language","en-CA");

                     os = hc.openOutputStream();

                     

                     String str = "key=value";

                     byte postmsg[] = str.getBytes();//数字发送之前,必须要将数据转化为字节。这样才能被流发送出去

                     //发送请求

                     for(int i = 0; i < postmsg.length; i++) {

                            os.write(postmsg[i]);

                     }

                     os.flush();

                     is = hc.openDataInputStream();

                     int ch;

                     //接收服务器的响应数据

                     while((ch = is.read()) != -1) {

                            buf.append((char)ch);

                     }

                     

                     t = new TextBox("Post Test Page", buf.toString(), 1024, 0);

                     t.addCommand(back);

                     t.setCommandListener(this);

              }finally{

                            is.close();

                            os.close();

                            hc.close();

              }

              display.setCurrent(t);

       }

 

5、socket通信:

  

 

/*

 * Copyright 2003, 2004 Symbian Ltd.

 * For License terms see http://www.symbian.com/developer/techlib/codelicense.html

 */

 

import javax.microedition.io.*;

import java.io.*;

 

public class ClientConnection extends Thread {

    

    private final static String line1 = "002402^1000^120010000011111^";

    private SocketMIDlet sM = null;

    private String url = null;

    private String request = null;

    

    public ClientConnection(SocketMIDlet sM) {

        this.sM = sM; //构造关于某个MIDlet的SOCKET实例

    }

    

    public void sendMessage(String url) {//处理关于服务的连接字符串,//"socket://localhost:8900"

        this.url = url;

        request = line1;//请求的字符串        

        start();

    }

    

    public void run() {

        try{

            SocketConnection conn = (SocketConnection)Connector.open(url);

            DataOutputStream out = conn.openDataOutputStream();

            byte[] buf= request.getBytes();

            out.write(buf);

            out.flush();

            out.close();

            sM.textBox.insert(" Finished request!\nReceiving response...\n", sM.textBox.size());

            

            DataInputStream in = conn.openDataInputStream();

            int ch;

            while ( (ch = in.read()) != -1 && sM.textBox.size() < sM.textBox.getMaxSize()) {

                String str = new Character((char) ch).toString();

                try {

                    sM.textBox.insert(str, sM.textBox.size());

                }catch(Exception e) {

                    e.printStackTrace();

                }

            }

            conn.close();

            conn = null;

        }catch(Exception e){

            e.printStackTrace();

        }

    }

    

}

  

 

可以在某个MIDLET中直接调用:          

ClientConnection socketConn = new ClientConnection(this);            

socketConn.sendMessage(textBox.getString());

 

即可实现一次发送和接受

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yangtang_newton/archive/2006/03/28/640872.aspx

分享到:
评论

相关推荐

    j2me socket编程

    在 J2ME 中,Socket 编程是实现设备间通信的重要机制,允许应用程序通过网络发送和接收数据。本文将深入探讨 J2ME 中的 Socket 编程及其相关知识点。 ### 1. J2ME 的 Socket API J2ME 提供了 `javax.microedition....

    j2me socket 框架连接的例子

    J2me中对HTTP 1.2中定义的KEEPALIVE支持得并不是很好,并不能获得一个http的长连接。对于JSE中http connection的实现还没验证。 使用Socket的一个好处是可以避免为每个网络请求建立单独的Connection。并且因为...

    j2me socket 服务端与 客户端聊天

    本项目 "j2me socket 服务端与 客户端聊天" 展示了如何利用 Socket 技术创建一个简单的聊天应用,使手机能够与服务器进行交互。 **一、J2ME Socket 客户端** 1. **创建 Socket 连接**:客户端首先需要通过 `java...

    j2me socket方式下载图片

    在Java 2 Micro Edition (J2ME)平台上,Socket通信是一种基础的网络连接方式,用于设备间的数据传输。本主题将深入探讨如何使用J2ME的Socket接口来实现图片的下载功能。首先,我们需要理解Socket的基本概念。 ...

    j2me socket 图片上传

    本篇文章将深入探讨如何在J2ME环境中利用Socket通信实现图片的上传功能。 一、J2ME Socket通信基础 Socket是TCP/IP网络编程的基本组件,它允许两个网络应用程序之间建立连接并交换数据。在J2ME中,`java.net.Socket...

    J2ME Socket Chat MIDlet [isometric]-开源

    **J2ME Socket Chat MIDlet 开源项目详解** 在移动设备技术领域,Java 2 Micro Edition(J2ME)曾是开发嵌入式系统和移动应用的重要平台。本项目名为"J2ME Socket Chat MIDlet [isometric]",是一个开源的聊天应用...

    Http.rar_C http_http请求_j2me socket cmnet_s40 cmnet socket_visual

    在J2ME中,可以使用`java.net.Socket`类创建一个套接字,与服务器建立连接,并通过输入输出流进行数据的读写。对于HTTP请求,通常先建立Socket连接,然后发送HTTP头和请求体,最后接收服务器响应。 描述中提到的...

    j2me socket

    蓝牙技术socket网络通信开发, 包括多线程开发技术

    J2ME 的socket通信源码

    J2ME 的socket通信源码,经过本人的整理能真正运行的源码

    基于j2me的socket网络聊天室

    这是基于j2me的socket网络聊天室的详细代码

    一些实用的j2me模板程序

    音乐的控制,rms的操作类,java字符串解析 将字符串解析成字符数组,java进度条实例模板,j2me中将对象转换成字节数组的方法,j2me联网测试,j2me多线程的应用实例,j2me Socket通信例子 客户端,服务器端

    J2ME的Socket编程

    在 J2ME 中进行 Socket 编程是实现设备间网络通信的基础,允许应用程序通过 TCP/IP 协议发送和接收数据。下面将详细探讨 J2ME 中的 Socket 编程知识点。 1. **Socket 概念**: - Socket 是网络通信中的一个端点,...

    j2me客户服务 基于socket + mysql驱动

    本文将深入探讨如何使用J2ME构建基于Socket通信的客户服务系统,并结合MySQL数据库驱动进行数据存储和检索。 首先,让我们了解J2ME的基础。J2ME由一组配置和 profiles 组成,如MIDP(Mobile Information Device ...

    论文研究-基于J2ME的Socket网络通信加密技术研究 .pdf

    基于J2ME的Socket网络通信加密技术研究,张宇敏,杨杰,随着3G技术的高速发展,手机上网已经成为一种时尚,使用手机上网的人逐渐增多,而手机网络安全问题也随之而来,自然手机通信的安�

    SocketChat.rar_J2ME_Java_

    J2ME网络编程,通过socket,两个人进行聊天

    J2ME开发 J2ME开发 J2ME开发

    "J2ME开发.pdf"可能包含J2ME的详细教程或者最佳实践,涵盖从基础语法到高级特性的讲解,包括UI设计(如Form和Canvas类)、数据持久化(RecordStore)、网络编程(HttpConnection和Socket)以及事件处理等。...

    最简单J2ME与J2SE的SOCKET链接例子,一看就懂

    本示例将深入探讨如何在J2ME和J2SE之间建立SOCKET连接,实现数据通信。SOCKET是网络编程中的基本组件,它提供了一种进程间通信(IPC)的方式,使得不同设备可以通过网络交换数据。 首先,我们来看J2ME部分。J2ME...

    郭克华J2ME实例教程完整版之Socket编程

    《郭克华J2ME实例教程完整版之Socket编程》是一份专为初学者设计的教程,涵盖了J2ME(Java Micro Edition)平台上的Socket编程技术。本教程以WMV视频格式呈现,辅以图文说明,使学习过程更加生动直观。Socket编程是...

Global site tag (gtag.js) - Google Analytics