J2ME网络编程以及网络游戏的实现Word文档格式.docx

上传人:b****1 文档编号:428281 上传时间:2023-04-28 格式:DOCX 页数:16 大小:19.41KB
下载 相关 举报
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第1页
第1页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第2页
第2页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第3页
第3页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第4页
第4页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第5页
第5页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第6页
第6页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第7页
第7页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第8页
第8页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第9页
第9页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第10页
第10页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第11页
第11页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第12页
第12页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第13页
第13页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第14页
第14页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第15页
第15页 / 共16页
J2ME网络编程以及网络游戏的实现Word文档格式.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

J2ME网络编程以及网络游戏的实现Word文档格式.docx

《J2ME网络编程以及网络游戏的实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《J2ME网络编程以及网络游戏的实现Word文档格式.docx(16页珍藏版)》请在冰点文库上搜索。

J2ME网络编程以及网络游戏的实现Word文档格式.docx

Tomcat5.0,然后选择Next

  第10步确定Web服务器管理员的用户名和密码以及默认的端口,,然后选择Next

  用户名admin

  密码123(要记住该密码用于对服务器的各种管理)

  默认端口8080

  第11步确定java虚拟机的所在路径,,然后选择Next

  路径C:

\j2sdk1.4.2_05(和我们之前安装JDK的路径要一致)

  第12步系统自动拷贝文件。

  第13步安装完成,系统提示是否马上运行,单击Finish,我们会在屏幕的右下角看到Tomcat5.0的小图标。

  第14步双击屏幕右下角Tomcat5.0图标,系统会弹出Tomcat运行窗口,在这个窗口中单击Start开启服务,到此Tomcat5.0安装完成,可以通过再Web浏览器中输入http:

//127.0.0.1:

8080/检测到欢迎的画面

  安装完成Tomcat以后,下面的工作就是要把磁盘上的文件夹共享为互联网中的虚拟目录,用于客户端的访问。

我们在D:

创建如下的文件夹结构:

  D:

mygameWeb(这个目录将作为对外部的虚拟目录用来存放共享的各种资源)

  在浏览器中单击页面左上第三项TomcatManager,这是系统会弹出一个窗口要求我们输入Tomcat管理的用户名和密码,输入用户名admin密码123后,按确定进入Web服务器管理页面。

  在管理界面中的Deploy面板我们输入以下信息:

  ContextPath(optional):

/515game(虚拟目录的名称)

  XMLConfigurationfileURL:

  WARorDirectoryURL:

file:

d:

/mygameWeb(真实的文件夹注意格式和大小写不要错)

  填写完成以后单击Deploy发布虚拟目录

  大功告成,我们可以把资源放到d:

mygameWeb这个目录下面通过

  http:

//ip/地址:

8080/515game/资源名称就可以访问这个服务器上的资源了,

  如:

http:

8080/515game/myweb.html

8080/515game/kk.wav

  假如这台主机在公网的IP地址为221.196.125.11在互联网中可以过以下地址来访问:

//221.196.125.11:

  在j2me中提供了访问网络的相关类,封装到了javax.microedition.io里面提供了相关类,下面我们通过实例介绍如果通过GCF来让j2me的客户端获取Web服务器缎的资源

  二、从Web获取文字信息

  importjavax.microedition.midlet.*;

  importjavax.microedition.io.*;

  importjava.io.*;

  importjavax.microedition.lcdui.*;

  publicclassgetHttp

  extendsMIDlet{

  publicvoidstartApp(){

  try{

  //打开网络连接

  Stringurl="

//127.0.0.1/515game/myweb.html"

;

  StreamConnectionsc=(StreamConnection)Connector.open(url);

  //读取数据

  InputStreamis=sc.openInputStream();

  inttmp=0;

  Stringget="

"

  while(tmp!

=-1){//-1代表结束

  tmp=is.read();

  get=get+(char)tmp;

  }

  is.close();

  Formf=newForm(url);

  //解决中文问题

  Stringchinese=newString(get.getBytes("

iso8859-1"

),"

utf-8"

);

  f.append(chinese);

  Display.getDisplay(this).setCurrent(f);

  //关闭网络连接

  sc.close();

  catch(Exceptione){}

  publicvoidpauseApp(){}

  publicvoiddestroyApp(booleanf){}

  三、从Web获取图片信息

  publicclasstestPic

//127.0.0.1/515game/back0.png"

  //获取图片

  Imageim=Image.createImage(is);

//该方法为MIDP2.0方法

  f.append(im);

  //关闭连接

  四、从Web获取多媒体信息

  importjavax.microedition.media.*;

  publicclassgetMusic

//127.0.0.1/515game/kk.wav"

  //获取声音

  Playerp1=Manager.createPlayer(is,"

audio/x-wav"

  p1.start();

  System.out.println("

soundisplay"

  catch(Exceptione){

  e.printStackTrace();

  五、基于http的用户登陆系统实现

  服务器端程序

  checkuser.jsp这个文件放到d:

/mygameWeb目录下面

  <%

  //得到用户名

  Stringname=request.getParameter("

username"

  //得到密码

  Stringpass=request.getParameter("

password"

  if(name.equals("

ldh"

))

  {

  if(pass.equals("

zhm"

  out.print("

welcome"

  else

passworderror"

usernameerror"

  %>

 

客户端程序

  publicclasslogoIN

  extendsMIDlet

  implementsCommandListener,Runnable{

  publicFormf;

  publicTextFielduser;

//用户名

  publicTextFieldpass;

//密码

  publicCommandc1;

  publiclogoIN(){

  f=newForm("

传奇世界用户登陆"

  user=newTextField("

用户名"

"

10,TextField.ANY);

  pass=newTextField("

密码"

8,TextField.PASSWORD);

  f.append(user);

  f.append(pass);

  c1=newCommand("

确定"

Command.SCREEN,1);

  f.addCommand(c1);

  f.setCommandListener(this);

  publicvoidstartApp(){}

  publicvoidcommandAction(Commandc,Displayabledd){

  Threadt=newThread(this);

  t.start();

//启动线程连结网络

  //完成网络请求

  publicvoidrun(){

  //打开网络

//127.0.0.1/515game/checkuser.jsp?

username="

+

  user.getString()+"

&

password="

+pass.getString();

  //获取数据

  while((tmp=is.read())!

=-1){

  Formf2=newForm("

登陆结果"

  f2.append(get);

  Display.getDisplay(this).setCurrent(f2);

  //关闭网络

  六、一个网络游戏实例

  下面我们通过一个网络猜价格的游戏实例来说明如何通过J2me同服务器端交换数据。

  这是一个网络版商品竞猜的实例,客户端输入商品价格,在服务器端负责游戏逻辑的处理。

  服务器端代码:

  Guess.jsp这个文件放到d:

  Stringsjg=request.getParameter("

jg"

  intjg=(int)(Math.random()*10);

  intuserjg=Integer.parseInt(sjg);

  if(userjg>

jg)

  out.println("

sorrydale"

  if(userjg<jg)

sorryxiaole"

  if(userjg==jg)

right"

  J2me客户端代码:

  publicclassGuessGame

  publicFormf,f2;

  publicTextFieldtf1;

  publicDisplayd;

  publicCommandc1,c2;

  publicGuessGame(){

商品竞猜"

  f2=newForm("

竞猜结果"

  c2=newCommand("

返回"

  f2.addCommand(c2);

  f2.setCommandListener(this);

  tf1=newTextField("

请输入商品价格1-9"

1,TextField.NUMERIC);

  f.append(tf1);

  d=Display.getDisplay(this);

  d.setCurrent(f);

  publicvoidcommandAction(Commandc,Displayabled){

  if(c==c1){//启动网络请求

  (newThread(this)).start();

  if(c==c2){

  this.d.setCurrent(f);

//127.0.0.1/515game/Guess.jsp?

jg="

+tf1.getString();

  //获取请求结果

  get=get+(char)(tmp);

  for(inti=0;

i<

f2.size();

i++){

  f2.delete(i);

  d.setCurrent(f2);

  }

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2