📄 中文java技术网java和flash通讯.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0051)http://www.cn-java.com/target/news.php?news_id=3330 -->
<HTML><HEAD><TITLE>中文java技术网::Java和Flash通讯</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="java Java和Flash通讯 " name=Keywords>
<META
content="Socket(套接字技术)是一种简单而易学的技术,尤其在当前像Java这样面向网络,面向商业开发的语言的支持下,实现起来是相当方便的。 Flash大家都知道,在网络图像,动画的传输上有着独天得厚的优厚优势,Flash player及其插件的高普及率。再加上一个十分强大的OO型的脚本AS2,以及它的失量图形系统,swf跨平台等优点。在短期内恐怕难有对手可以与之抗衡,而且有发展的越来越好的趋势。 但是,Flash的功能毕竟还是有极限的。比如,随意的读写文件等基本的应用程序应有的功能都无法实现。在应对大规模的数据输入的时候,用Flash比较“偏”的数据库存取系统无论是开发效率和运行效率都难以有保证。 而现在主流的商业化,网络化的OO技术,如JAVA等,在处理后台数据要事物方面可是拿手绝活。所以,如果能利用Java等主语言写的程序来处理数据,通过数据间的传递补,让Flash在前能做一个展示级的平台的功能,一定可以让你开发出前所未有的,无论在外还是在内都堪?....."
name=Description><LINK href="中文java技术网Java和Flash通讯.files/style.css"
type=text/css rel=STYLESHEET>
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY oncontextmenu="return true" link=#00000 bgColor=#666699 leftMargin=0
topMargin=0>
<TABLE cellSpacing=0 cellPadding=0 width="98%" align=center bgColor=#ffffff
border=0>
<TBODY>
<TR>
<TD align=middle bgColor=#000000>
<SCRIPT language=JavaScript>
function MM_o(selObj){
window.open(selObj.options[selObj.selectedIndex].value);}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
if(selObj.options[selObj.selectedIndex].value!=''){
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
}
</SCRIPT>
<TABLE height=84 cellSpacing=0 cellPadding=0 width=760 align=center
bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD bgColor=#000000 rowSpan=2><IMG height=65
src="中文java技术网Java和Flash通讯.files/heard1.jpg" width=110></TD>
<TD bgColor=#000000 rowSpan=2><IMG height=65
src="中文java技术网Java和Flash通讯.files/heard2.jpg" width=142></TD>
<TD borderColor=#0 width=615 bgColor=#000000><!-- <a href='http://www.cn-java.com/community/' target='_blank'><IMG SRC='http://www.cn-java.com/images/bar.gif' BORDER='0'></a> -->
<DIV align=center><A
href="http://www.actionsoft.com.cn/news/2005,10,00006.jsp"><IMG
src="中文java技术网Java和Flash通讯.files/bpm-conference.gif" border=0></A>
</DIV></TD></TD></TR>
<TR>
<TD vAlign=center width=615 bgColor=#000000 height=17><A
href="http://www.cn-java.com:7001/roller" target=_self></A><A
href="http://www.cn-java.com/tologin.php" target=_self><FONT
color=#ffffff size=2>登录</FONT></A> <FONT color=#cc9900
size=3>|</FONT><A href="http://www.cn-java.com/user_step1.php"
target=_self><FONT color=#ffffff size=2>免费注册</FONT></A><FONT
color=#cc9900 size=3>|</FONT><FONT
face="Arial, Helvetica, sans-serif"><A
href="http://www.actionsoft.com.cn/" target=_self><FONT
color=#ffffff size=2><B><FONT
color=#ffcc00>炎黄盈动</FONT></B></FONT></A></FONT><FONT color=#cc9900
size=3><FONT color=#cc9900 size=3>|</FONT></FONT><FONT
face="Arial, Helvetica, sans-serif"><A
href="http://www.cn-java.com:6001/cnjava/mvnforum/index"
target=_self><B><FONT color=#ffcc00 size=2>论坛</FONT></B></A><FONT
face="Arial, Helvetica, sans-serif"><FONT color=#cc9900
size=3>|</FONT> <FONT face="Arial, Helvetica, sans-serif"><A
href="http://www.cn-java.com/index.php" target=_self><FONT
color=#ffffff size=2>主页</FONT></A> </FONT> </FONT> <SELECT
class=homepage onchange="MM_jumpMenu('parent',this,1)" name=select>
<OPTION selected>站点导航</OPTION> <OPTION
value=http://www.cn-java.com>+-首页</OPTION> <OPTION
value=http://www.cn-java.com/community/>+Java社区</OPTION> <OPTION
value=http://www.cn-java.com/opensource/>+开源项目</OPTION> <OPTION
value=http://www.cn-java.com/eshop/>+JAVA图书</OPTION>
<OPTION>+-新手入门</OPTION> <OPTION
value=http://www.cn-java.com/index_focus.php?kind=31&title=配置java环境>|-配置JAVA环境</OPTION>
<OPTION
value=http://www.cn-java.com/index_news_kind.php?title=新手入门/JAVA语言基础&kind=32&group=>|-JAVA语言基础</OPTION>
<OPTION
value=http://www.cn-java.com/index_download_kind.php?title=开发工具与教程&kind=&group=01>|-开发工具与教程下载</OPTION>
<OPTION
value=http://www.cn-java.com/index_download_kind.php?title=程序代码&kind=&group=02>|-程序代码下载</OPTION>
<OPTION
value=http://www.cn-java.com/index_news_kind.php?title=新手入门/实用技巧&kind=34>|-实用技巧</OPTION>
<OPTION value=http://www.cn-java.com/index_faq_center.php>|-FAQ
abc</OPTION> <OPTION
value=http://www.cn-java.com/index_resource_kind.php>|-学习资源</OPTION>
<OPTION>+专题技术</OPTION> <OPTION
value=http://www.cn-java.com/index_focus.php?kind=12&title=Java线程>|-JAVA线程</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=20&title=Socket编程>|-Socket编程</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=37&title=应用服务器>|-应用服务器</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=38&title=WebService>|-Web
Service</OPTION> <OPTION
value=http://www.cn-java.com/index_focus.php?kind=21&title=J2EE>|-J2EE</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=17&title=EJB专题>|-EJB专题</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=14&title=JAVA与XML>|-JAVA与XML</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=16&title=Servlet与JSP>|-Servlet与JSP</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=15&title=Applet与Swing>|-Applet与Swing</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=13&title=数据库专题>|-数据库专题</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=22&title=JavaMail>|-JavaMail</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=18&title=Java智能卡>|-Java智能卡</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=35&title=J2ME>|-J2ME</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=19&title=WAP应用技术>|-WAP应用技术</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=04&title=Java认证考试>|-Java认证考试</OPTION>
<OPTION
value=http://www.cn-java.com/index_focus.php?kind=36&title=设计模式>|-设计模式</OPTION>
<OPTION value=http://www.cn-java.com/qikan/list.php>+电子期刊</OPTION>
<OPTION>+会员管理</OPTION> <OPTION
value=http://www.cn-java.com/index_user_center.php>|-会员管理中心</OPTION>
<OPTION
value=http://www.cn-java.com/postMain.php>|-我的文章中心</OPTION>
<OPTION
value=http://www.cn-java.com/webteam/>|-JWT成员</OPTION></SELECT>
</FONT></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width="98%" align=center
bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD vAlign=top align=middle height=69>
<TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#ffffff
border=0>
<TBODY>
<TR>
<TD vAlign=top height=69>
<TABLE cellSpacing=0 cellPadding=0 width="95%" align=center
border=0>
<TBODY>
<TR>
<TD width="99%">
<TD width="1%">
<TR>
<TD width="99%"><BR>
<P><FONT face="宋体,Arial, Helvetica, sans-serif"
color=#000000 size=2></FONT><FONT
face="黑体,Arial, Helvetica, sans-serif" color=#000000
size=4>Java和Flash通讯 </FONT><FONT color=gray
size=1>阅读次数1171</FONT>
<P align=right>出处
http://blog.hexun.com/smallice/trackback.aspx?articleid=1274780 </P>
<P></P>
<HR noShade>
<TABLE cellSpacing=0 cellPadding=0 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=top
width="86%">Socket(套接字技术)是一种简单而易学的技术,尤其在当前像Java这样面向网络,面向商业开发的语言的支持下,实现起来是相当方便的。<BR><BR>Flash大家都知道,在网络图像,动画的传输上有着独天得厚的优厚优势,Flash
player及其插件的高普及率。再加上一个十分强大的OO型的脚本AS2,以及它的失量图形系统,swf跨平台等优点。在短期内恐怕难有对手可以与之抗衡,而且有发展的越来越好的趋势。<BR>但是,Flash的功能毕竟还是有极限的。比如,随意的读写文件等基本的应用程序应有的功能都无法实现。在应对大规模的数据输入的时候,用Flash比较“偏”的数据库存取系统无论是开发效率和运行效率都难以有保证。<BR>而现在主流的商业化,网络化的OO技术,如JAVA等,在处理后台数据要事物方面可是拿手绝活。所以,如果能利用Java等主语言写的程序来处理数据,通过数据间的传递补,让Flash在前能做一个展示级的平台的功能,一定可以让你开发出前所未有的,无论在外还是在内都堪称一流的直接面向网络的软件。<BR><BR>今天我做的尝试有些人也已做过了,不过我这里是拿自己尝试的体验与大家一起来分享一下:<BR><BR>1.首先要知道一件事,就是能不能做的问题的,Java自不必说了。Flash方面,主要是有一个XmlSocket类,可以用来与建成服务器的应用软件通讯.通讯的形式有两面种,一种是用xml节点信息,比如说这样:<BR><XMLNODE
attribute1="”helloWorld”"
/><BR>在xml技术被广泛应用的今天,这种格式更有生命力,xml在j2ee级别的应用里可以经常看到.<BR>还有一种是相对简单的,直接传字符串.在小规模的程序里会比较实用.<BR>当然啦,说到底传的都是字节流.<BR>在用以上两种方式传输的时候,请不要忘了,在Flash和Java端,都要加上字节流的终止符:<BR>Flash传给Java程序做的服务器端的信息,未尾加”\n”.<BR>Java程序做的服务器端传达室给Flash的信息,未尾加”\0”.<BR>2传完数据了,接下来就是解析了,在两端都可以直接应用各自的字符串Api进行方便的处理。这里就不细谈了。<BR>下面简单介绍一下我做的一个小Demo,通过Java发数据给Flash让Flash中的一个小球从左向右移动:<BR><BR>import
java.io.*; <BR>import java.net.*; <BR>public class
mainServer <BR>{ <BR>public static boolean sFlag;
<BR>public static void main(String args[]) <BR>{
<BR>try <BR>{ <BR>ServerSocket server=null;
<BR>try <BR>{ <BR>server=new ServerSocket(4700);
<BR>} <BR>catch(Exception e) <BR>{
<BR>System.out.println("can not listen to :"+e);
<BR>} <BR>Socket socket=null; <BR>try <BR>{
<BR>System.out.println("Java Server Start:");
<BR>socket=server.accept();
<BR>System.out.println("client has connected\n");
<BR>} <BR>catch(Exception e) <BR>{
<BR>System.out.println("Error:"+e); <BR>}
<BR>BufferedReader is=new BufferedReader(new
InputStreamReader(socket.getInputStream()));//*correct
get the input from the client <BR>PrintWriter
os=new PrintWriter(socket.getOutputStream());
/*correct make os the output to client*/
<BR>sFlag=true; <BR>controlThread
testController=new controlThread(os);
<BR>testController.start();//启动控制线程.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -