
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
2、使用XMLSocket对象
在网络通讯中,使用XMLSocket对象的通讯方式为Socket,(所谓的Socket,可以将它想象为一条通路,需要通讯的时候,在客户端跟服务器端建立一个连接,然后传送内容,通讯完毕后再撤销这个通路)。Flash端跟服务器端的通讯模式为:先在Flash端跟服务器端建立一个Socket连接,生成XML文件后,通过所建立的Socket连接将XML文件发送到服务器端,服务器端解释所接收到的文件,对数据进行相应的操作后,生成一个XML文件,通过Socket连接发送到Flash端,Flash端解释XML文件后就得到所需要的数据。如此循环,操作完成后关闭Socket连接。有点难懂,可以参考图2仔细想想。

下面分别解释在Flash端跟服务器端的东西。
A、在Flash端:XMLSocket对象中,只有三个方法和四个事件,都是在Socket通讯时候用的,对XML文件的操作还是要靠XML对象。比如,下面是一些简单的Socket操作:
//声明XMLSocket对象
var mySocket=new XMLSocket();
//根据IP地址和端口连接服务器
mySocket.connect("127.0.0.1",9980);
//连接成功与否的判断
mySocket.onConnect=function(sucess){
if(success){
trace("连接成功");
}else{
trace("连接失败");
}
}
//当接收到XML文档的时候,触发此函数
mySocket.onXML=function(xmlDoc){
……
}
B、在服务器端:选用服务器端的开发语言的标准是,起码要能够做Socket方面的操作(复杂的应用当中还需要多线程、负载平衡等方面的东西)。比较常用的有C/C++、java,其他的比如Delphi、Vb等工具对Socket的操作就有点不方便。要开发一个高效率、稳定、可扩展的服务器端程序并不是一件很简单的事情,最好能找点相应的资料深入学习一下,刚入门的时候,学习的重点可以放在Socket和多线程上面。下面以比较流行的java语言来举例说明服务器端程序的简单架构:
//运用多线程防止服务器阻塞
public class MultiThreadServer extends Thread
{
private ServerSocket listen_socket;
public MultiThreadServer(int port)
{
try
{
listen_socket = new ServerSocket(port); //创建一个服务器端的Socket
this.start(); //启动多线程
}
catch(IOException e) //捕捉异常
{
e.printStackTrace();
}
}
//下面为服务器监听线程的主程序。
public void run()
{
while(true) //死循环,一直在端口上监听有无客户端的Socket连接
{
try
{
//有客户端连接上来,创建一个相应的Socket,并启动响应的函数
Socket client_socket= listen_socket.accept();
SockState sstate=new SockState(client_socket);
OperThread oper=new OperThread(sstate);
}catch(Exception ee)
{
System.out.print("MultiThreadServer run:"+ee.getMessage());
}
}
}
}
3、XML在Flash中主要涉及两方面的应用,本地应用和网络应用。
本地应用主要是存取XML文件中所保存的数据,这里所指的数据并不一定限定是文本数据,也可以是图片数据,声音数据等等。比如可以用Flash + XML来做图片管理器,歌曲列表管理器,用处还是比较大的,也比较灵活。
网络应用是XML在Flash中的主要用途,它的优缺点在前面内容中已经提到。比如说,可以用来做电子商务方面的应用、论坛、聊天室等等。