flash游戏与.net后台的通信问题, 有心人请进,内详

来源:百度知道 编辑:UC知道 时间:2024/05/25 02:38:17
现在想做一款游戏 , 前台用flash开发, 通过ASP.net与数据库进行交互.

现在有几种交互的方案, 想请有经验的前辈帮我分析下:

第一种:
flash AS3中用代码生成一个XML, 内含数据库SQL语句,用loader直接发送给.net页面, .net运行库再直接通过这个语句,查询数据库, 生成一个XML, 包含了数据库返回的数据, 再把这个XML发送回Flash, flash接收到返回的数据, 处理后显示出结果.

第二种:
flash中用代码生成一个XML, 不含SQL查询语句, 只包含一些要写入数据库的数据, 发送给.net, .net分析发送来的数据, 根据逻辑生成SQL语句, 查询数据库后再把返回结果写入一个XML中,再发回给Flash. flash接收到返回的数据, 处理后显示出结果.

以上两种的共同点是,交互都是通过XML进行的.
不同点是,:
第一种中的SQL语句是由Flash生成的, 发送给.net后, .net只管无脑执行并返回结果.
第二种, SQL语句是.net根据flash 传送过来的XML类型生成的, 很多处理逻辑都在.net中.

现在在这两种方案中徘徊, 第一种方案比较简单,但貌似有安全隐患( 有么?) , 第二种貌似太麻烦了.

请有开发过类似项目的前辈指点下迷津! 真心感谢.
另: flash 与后台的交互, 除了上面两种,有更好的方式吗?

楼主是第一次做,as3与后台交互吧?当前as与后台交互通常使用两种方式
request和socket
楼主的两种通讯方式都与request方式类似,但是我们通常不是这么用的。
给.net或者其他后台传值的时候实际上是打开某个网页,然后通过参数把东西传递过去。实际操作如下:
var myXML:XML = new XML();
var XML_URL:String = "http://www.example.com/Sample3.xml";
var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);

function xmlLoaded(event:Event):void
{
myXML = XML(myLoader.data);
trace("Data loaded.");
}
这是adobe cs4中帮助文档中的源码,我们进行一点修改就可以达到传值目的。
只要把 XML_URL 的值改为你的功能页面地址(.asp),然后加入参数,如?a=123。
后台中使用GET传值的取出方法可以获得数据
我是做webgame的,欢迎多流

你想做什么?网游吗?用RED5或者FLASH MEDIA SERVER 吧
要是单纯的保存一点点数据,你说的哪两种都可以
发送的信息不加密都有安全隐患(网上银行保密够好吧,还是有可能被攻破呢,简直就没有黑客办不到的事情,看人家惦记你不了^_^),只是你觉得你需要多高的保密手段,这个你要考虑清楚。
其实你说的两种