点击这里给我发消息 点击这里给我发消息

Windows CE PocketPC上的Java编程(2)

添加时间:2013-12-7
    相关阅读: 网页 软件 技术 数据库 网络 程序 Windows

  编译及激活程序 Server端 执行方法在PC端编译及执行 javac –classpath %pjeeclasspath%;. netHelloServer.java(编译) java –classpath %pjeeclasspath%;. netHelloServer(执行)
  
 

  
图 netServer开始等待Client端发出要求

  
  注意Server激活之后就不要关掉了,可以测试Client端的联机。Client端请各位读者照着下面输入指令,记得您的PocketPC要连上网络。 javac –classpath %pjeeclasspath%;. Clinet.java(Enter) java –classpath %pjeeclasspath%;. Client(Enter)
  
 

  
图Client的仿真器画面

  
 

  
图 在PDA中的画面

  
  注意!
  
  1. 各位读者可以从程序中注意到Server端及Client端中的Read及Write是互相对称的,希望大家在撰写程序中需要这个要点。
  2. 配合无线网络卡、是蓝芽技术、及行动通讯等技术,这就是相当实用的应用程序了,感谢人类创造了网络还有Java。
  
  一个URL的类别需要下面几个两个主要的参数:
  
  协议的定义(如http或是ftp)
  资源的名称(包含网址或是port)
  关于URL的部分笔者只有为各位作简单的介绍,接着附上个读取网页的范例。
  
  //httptest.java
  import java.awt.*;
  import java.awt.event.*;
  import java.net.*;
  import java.io.*;
  public class httptest extends Frame
  {
  private Label lb1 = new Label("URL");
  private TextField tf1 = new TextField(10);
  private TextArea ta1 = new TextArea();
  private Button btn1 = new Button("Get");
  Panel p1 = new Panel();
  public httptest()
  {
  p1.add(lb1);
  p1.add(tf1);
  p1.add(btn1);
  //sp1.add(ta1);
  add(p1,BorderLayout.NORTH);
  add(ta1,BorderLayout.CENTER);
  btn1.addActionListener(new btn1ActionEvent());
  setSize(240,320); //for iPAQ
  setVisible(true);
  }
  public static void main(String args[])
  {
  new httptest();
  }
  class btn1ActionEvent implements ActionListener
  {
  public void actionPerformed(ActionEvent e)
  {
  String URLStr;
  try
  {
  //开启一个新的URL对象
  URL u = new URL(tf1.getText());
  ta1.append("\t You hava entered:"+lb1.getText()+"\n");
  ta1.append("\t URL info"+u.toString()+"\n");
  InputStreamReader ir = new InputStreamReader(u.openStream());
  BufferedReader bf = new BufferedReader(ir);
  ta1.append("\t URL stream connection: Read file now...\n");
  String aLine;
  while((aLine = bf.readLine())!=null)
  {
  ta1.append(aLine + "\n");
  }
  bf.close();
  ir.close();
  }
  catch(MalformedURLException mue)
  {
  //System.out.println("网址不正确");
  }
  catch(IOException ioe)
  {
  //System.out.println("Error "+ioe);
  }
  }
  }
  }
  
  编译及执行程序
  
  javac –classpath %pjeeclasspath%;. httptest.java(编译)
  
  pjava –classpath %pjeeclasspath%;. httptest (执行)
  
  接着输入个网址,记得要连上网络。
  
 

  
图 在仿真器中的画面(1)

  
 

  
图 在仿真器中的画面(2)

  
  相信大家都觉得很奇怪,为什么无法看看到如我们浏览器一般的美丽图样及文字呢?因为我们必须要在为这些取得的字符串还有档案作剖析(parse)的动作,如读到了图形的字节就需要使用使用绘图软件打开,读到音乐的字节就需要使用媒体播放工具来开启,这是可一门相当大的学问也是相当的苦工唷。
  
  分布式的应用程序
  
  在为各位读着介绍下一个更炫更酷的RMI技术之前笔者先为各位介绍一些分布式应用程序的观念,另外附上一个网络程序与数据库连接的范例架构如下图所示,我们将SocketServer中间安置许多真实的程序逻辑,最后再透过JDBC连接到数据库,如此我们可以将数据库的联机降至最低,至于Client端联机的处理则就需要靠各位撰写程序的技巧啰!!这是常常看到的多层式(N-tier)架构或是分布式的应用程序皆是以此技巧发展出来的笔者所附上的范例程序是属于三层式架构(3-tier)。
  

  
图(三层式)的系统架构
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册