Flash P2P 通信技巧(AS-Java-AS)
来源:互联网 发布:three.js 顶点数 编辑:程序博客网 时间:2024/05/21 11:23
众所周知Flash的功能比较强大,但是有两个功能到目前为止始终无法实现
- 是swf的点对点连接
- 是swf读写操作文件
别想了,靠Flash本身是不可能的,虽然有传说中的MMSave();等一些隐藏函数,但是毕竟这些未公开的函数了解的人并不多,用起来也不方便。
那么究竟有没有其他办法可以扶助实现呢?答案当然是肯定的。在这里我们需要请出当前最热的两门名副其实的编程语言C++/Java,靠他们来实现你要实现的功能吧。
在这里我用Java举例。
首先我们必须了解 AS如何让Java做事?对于双方来讲唯一应用性最高的途径就是Socket了。
AS1->XMLSocket->send()->Java.Socket->InputStream
AS2->XMLSocket->send()->Java.Socket->InputStream
AS3->Socket->writh()->flush()->Java.Socket->InputStream
as1&2只支持以字符串形式发送socket,而as3支持真正意义上的流,在这里为了兼容和教学简单,我均以字符串形式来实现相互间的通信。
1->AS与Java最基本的通信
1.1 简单Java服务器
首先我们来做最简单的单线程Java服务器
import java.io.*;
import java.net.*;
public class Server extends ServerSocket{
//服务端口号常量(as要求必须大于1024,小于65535)
private static final int SERVER_PORT = 10086;
//申明流的空间
private Socket client;
private BufferedReader in;
private PrintWriter out;
private String src;
//构造函数
public Server() throws IOException{
super(SERVER_PORT);
//监听连接,初始流在进来后读取前,和写入后发送前所存放的空间
Socket socket = accept();
in = new BufferedReader(new InputStreamReader(client.getInputStream()));
out = new PrintWriter(client.getOutputStream(),true);
//循环等待读取信息
while(true){
//读取行信息,注意是以换行符结束的
src = in.readLine();
//如果发送"close",就跳出循环(断开连接)
if(src.equals("close")){
break;
}
//在收到的信息前加是标识并发回(注意结尾加"/0",这是as的XMLSocket读入每条信息的条件.as3的Socket不需要)
out.println("rev: "+src+"/0");
//以上out.println("xx")相当于out.write("xx");out.flush();的执行效果
System.out.println("msg is "+src)
}
//关闭连接
close();
}
//入口函数...
public static void main (String[] args) throws IOException{
new Server();
}
}
这样一个Java的服务器就建好了,Java是同步的事件的驱动是等待的,这个AS是不同的,所以方法对与as区别还是比较大的,具体功能已经注释的非常清楚。至于具体Java的特性我不是专业的,为了对读者负责我就不做详细介绍了,有兴趣的朋友可以查阅Java相关书籍。
接下来呢就是AS的访问了:
- Flash P2P 通信技巧 (AS-Java-AS)
- Flash P2P 通信技巧(AS-Java-AS)
- Flash P2P 通信技巧(AS-Java-AS)
- Flash P2P 通信技巧(AS-Java-AS)
- Flash P2P 通信技巧 (AS-Java-AS)
- Flash P2P 通信技巧(AS - Java - AS)
- flash as 与js通信
- Flash(ActionScript,AS) & JavaScript通信浅谈
- Flash AS技巧之使用setTimeout
- AS技巧
- AS技巧
- AS和JS通信,Flash和Html通信
- AS和C#通信,Flash和.net (winform)通信
- JS/AS(Flash)通信失效的可能原因
- flash as 与js通信(转)
- flash as 3
- flash as 基本应用
- FLASH AS STUDY
- 呃,好晚了
- SQL2005下字符串字段内的字符排序
- 我的Emacs配置存放
- 090117.成长日记
- 有点sexy的iPhone应用程序
- Flash P2P 通信技巧(AS-Java-AS)
- 用modbus协议,在S7-300中实现与PC,以及英杰电机调速器三点通讯
- ORA-28000: the account is locked(通过plsql解决的方法)
- 家乐福选用Teradata数据仓库平台支持营销
- 高航的离别的秋天 很不错!
- 为什么要引入设计模式?
- Google Docs离线功能的简单总结
- Ashampoo 3D CAD Professional v1.0.8.6
- 08年我顺利通过山东大学计算机信息管理本科高等教育自学考试