(一)连接
目的:实现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+="已经成功连接到服务器! ";
- }
- private function funClose(event:Event):void
- {
- myText.text+="和服务器断开! "
- }
- ]]>
- </mx:Script>
- <mx:TextArea x="10" y="10" width="327" height="309" id="myText"/>
- </mx:Application>
知识点:
在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 服务器信息事件,当收到服务器的新信息时被触发。