首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 复习指导 >

Flex和java的socket通信(1)

2009-02-21 
连接

    服务端:java jdk1.5 (使用工具:eclipse3.2)
  客户端:flex 2
  连接
  目的:实现flex和java的连接
  服务端代码:Server1.java
  ===========================================
  import java.net.*;
  import java.io.*;
  public class Server1 {
  public static void main(String[] args) {
  ServerSocket server=null;
  try{
  server=new ServerSocket(8888);
  //x1
  System.out.println("服务器套接字已经被创建");
  while(true){
  System.out.println("等待客户机");
  Socket newSocket=server.accept();//x2
  System.out.println("已与客户机连接");
  }
  }catch(IOException ie)
  {
  System.out.println(ie);
  }finally{
  Try
  {
  if(server!=null) server.close();//x3
  }catch(IOException ie){}
  }
  }
  }
  知识点:
  X1:使用指定的端口号创建了一服务器套接字对象。
  X2:调用accept()方法来等待客户机的连接请求。
  X3:关闭服务器套接字。如果一直没有客户机器提出连接请求,服务器套接字将会继续等待。
  客户端代码:Client1.mxml
  ===================================================
  <?xml version="1.0" encoding="utf-8"?>
  <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creati f width="349" height="326">
  <mx:Script>
  <![CDATA[
  import flash.net.Socket; //导入类包
  private var socket:Socket;
  //创建Socket对象
  internal function initApp():void
  {
  socket=new Socket(); //new出来,这时候才能被使用
  socket.connect("127.0.0.1",8888);  //连接服务器
  socket.addEventListener(Event.CONNECT,funConnect);
  //监听是否连接上服务器
  socket.addEventListener(Event.CLOSE,funClose);
  //监听服务器是否关闭
  }
  private function funConnect(event:Event):void
  {
  myText.text+="已经成功连接到服务器!n";
  }
  private function funClose(event:Event):void
  {
  myText.text+="和服务器断开!n"
  }
  ]]>
  </mx:Script>
  <mx:TextArea x="10" y="10" width="327" height="309" id="myText"/>
  </mx:Application>
  界面很简单,就是拖了一个TextArea组件来记录连接状态。
  知识点:
  在as3.0中,所有和网络通信有关的类都位于flash.net包中,这里使用的是Socket类对象。
  下买你用Socket 对象建立一个新的Socket对象:
  var socket:Socket=new Socket();
  或者
  var socket:Socket=new Socket(“127.0.0.1”,8888);
  这条语句设置了服务器地址为127.0.0.1 端口是8888
  当指定了了服务器地址和端口,Socket对象将自动开始连接服务器。如果不指定,则需要条用connect方法才开始执行连接动作,比如:
  var socket:Socket=new Socket();
  socket.connect(“127.0.0.1”,8888);
  完成连接动作后,接下来要获取服务端得返回信息。Socket对象利用时间机制来处理服务器端的信息,我们只要给Socket对象添加相关的事件监听函数就可以捕捉到服务器端的信息,Socket对象的事件主要有:
  1 Event.CLOSE 连接中断事件。
  2 Event.CONNECT 连接状态事件,表示已经成功连接了服务器。
  3 IOErrorEvent.IO_ERROR 信息传递错误事件,一般是由服务器地址错误引起的。
  4 ProgressEvent.SOCKET_DATA 服务器信息事件,当收到服务器的新信息时被触发。

 

3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行