- 浏览: 1428741 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (564)
- 算法 (7)
- 流金岁月 (1)
- Javascript (30)
- actionscript (108)
- as3.0 game (14)
- flex (84)
- fms2 (27)
- 正则表达式 (7)
- 开源组件代码(as3.0) (1)
- Pv3d (13)
- Cairngorm (4)
- vbs (54)
- VB程序设计 (26)
- 计算机应用与维护 (4)
- 职场实用穿衣技巧 (3)
- 历史风云 (15)
- 淡泊明志,宁静致远 (12)
- 情感 (26)
- 杂谈 (41)
- 越南风 (14)
- DirectX (9)
- Dev-cpp (11)
- 回望百年 (2)
- 建站经验 (2)
- Python (24)
- 网络赚钱 (4)
- php (2)
- html (1)
- ob0短址网 (1)
- ob0.cn (1)
- wordpress (1)
- pandas logistic (1)
- haxe (1)
- opencv (1)
- 微信小程序 (3)
- vue (3)
- Flutter (1)
最新评论
-
GGGGeek:
第一个函数滚动监听不起作用,onPageScroll可以
微信小程序--搜索框滚动到顶部时悬浮 -
naomibyron:
解决办法:工具 -> 编译选项 -> 编译器 ...
dev-c++中编译含WINSOCK的代码出现错误的解决方法 -
haichuan11:
这个…… 代码不全真的是让人很憋屈的感觉啊
actionScript 3.0 图片裁剪及旋转 -
chenyw101:
老兄能留个QQ号吗?具体的我有些东西想请教下你
用VB制作网站登陆器 -
yantao1943:
貌似有点问题,只派发一次事件啊
使用ActionScript 2.0或ActionScript 3.0处理音频文件的提示点(cue
AMF3 + AS 3.0 + ASP.NET 完整配置过程及源文件
还在用 AMF0? 还在用 XML传数据? 还在抱怨 byteArray 要转换成 base64 ? 还在苦恼 fms 生成图片的高消耗和低效率?
// fms 2 其他都很好 我就说这一点不好 跟贴的别乱来!
跟我用超帅的 AMF3 吧!
// 这次转牛角尖 找资料: 历时4 天 浏览过的贴子:无数 找到范例数:0 // 盛怒之下 决定自己写!!!
我使用的是 Fluorine Gateway
这个软件的优点是 绝对免费 且无任何限制 数据类型支持面广
从这个网址下载fluorine.exe 并安装它
官网: http://fluorine.thesilentgroup.com/index.htm
第一步
打开 Microsoft Visual Web Developer 2005 速成版 (我用免费的 其他版本都一样)
新建一个 网站 选择模板[A project for creating a Fluorine enabled ASP.NET Web application]
命名为 “fluorine” // 必需用这个! 等你懂了你再换其他 别给我捣乱
在 fluorines 网站的“解决方案资源管理器”里面你会看到
1) bin 文件夹 里面就是 Fluorine的核心 支持 AMF3和 AMF0 的 DLL 动态连接库
2) Gateway.aspx 这是默认的 不用改 里面也差不多是空的 它的存在仅仅是为了 建立一个 AS3的 NetConnection
3) web.config和 WEB-INF文件夹里的那两个文件 不是我们菜鸟能看得懂的 但是是关键和必须的 也不需要你改
4) App_Code 文件夹 我们只需要弄这个 把我们自己写的 *.cs文件放到这里 就可以 用NetConnection.call
来实现里面的 function 了
第二步
加代码 C# 的 放在 App_Code 文件夹 里面
文件名 { "KitaRemoting.cs" } 别乱改哦! 等你懂了你再换其他 !
using System;
using System.IO;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Drawing.Imaging;
using com.TheSilentGroup.Fluorine;
using com.TheSilentGroup.Fluorine.AMF3;
//你要使用其他AS3的数据类型就在那个 Bin/com.TheSilentGroup.Fluorine.dll 文件里面慢慢找吧!
namespace fluorine
{
/// <summary>
/// Fluorine sample service.
/// </summary>
[RemotingService("Fluorine sample service")]
public static class KitaRemoting
{
public static string Echo(string text)
{
return "Gateway echo: " + text;
}
public static String SaveImage(ByteArray byteArray, String fileName)
{
uint length = byteArray.Length;
byte[] bytes = new byte[length];
byteArray.ReadBytes(bytes, 0, length);
MemoryStream ms = new MemoryStream(bytes);
System.Drawing.Image img = System.Drawing.Bitmap.FromStream(ms);
Bitmap bmp = new Bitmap(img);
//To save the image to a file
MemoryStream tempStream = new MemoryStream();
bmp.Save(tempStream, System.Drawing.Imaging.ImageFormat.Jpeg);
FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath(fileName), FileMode.Create);
tempStream.WriteTo(fs);
tempStream.Close();
fs.Close();
tempStream.Dispose();
fs.Dispose();
//GC.Collect();
return "Gateway SaveImage Finish!";
}
}
}
第三步
再做一个 as3 文件 你有安装 com.adobe.images.JPGEncoder这个类吗 在一个叫corelib-.90的压缩包里面 上 google code 搜索吧
import flash.net.NetConnection;
import com.adobe.images.JPGEncoder;
var nc:NetConnection = new NetConnection();
nc.client = nc;
nc.objectEncoding = flash.net.ObjectEncoding.AMF3;
// 没错 你用的是 flash.net.ObjectEncoding.AMF3 帅吧!
nc.connect ("http://localhost/fluorine/Gateway.aspx");
bt.addEventListener (MouseEvent.CLICK,clickHandler);
function clickHandler (evt:MouseEvent)
{
var time:uint = getTimer();
var bmd:BitmapData = new BitmapData(400,400,false,0xFFFFFFFF);
bmd.draw (pic);
var JPG:JPGEncoder = new JPGEncoder(30);
var bary:ByteArray = JPG.encode(bmd);
var name:String = "a.jpg";
nc.call ("fluorine.KitaRemoting.SaveImage",new Responder(Result,Status),bary,name);
bmd.dispose ();
trace("Excute Time: "+String(getTimer()-time));
}
function Result (re:String)
{
trace (re);
trace ("成功!");
}
function Status (re:Boolean)
{
trace ("错误!");
}
flash文件 你放在哪里都行
测试 看看 !~
运行时间 Excute Time: 937
图片大小 400*400 20kb
实际flash 至 C# 数据传输长度 16065 取自 [Microsoft Visual Web Developer 2005 ] 调试结果 二进制数组长度
摆脱 虚伪的 base64 踢走AMF0 吧!!!
发表评论
-
控制连接数量和密码保护-flashcom教程 密码保护
2008-10-30 14:03 1201学习flashcom+学习英语(烂到死),无任何目的,本篇仅 ... -
FLEX结合FMS制作在线视频认证
2008-09-09 14:24 3783很多交友网站都具体在线视频认证能,如51.com。参考它的认 ... -
flex 3 + .net开发flash Remoting四[完整代码
2008-08-28 16:11 2172一. 相关说明: 本篇将呈现完整的Flash Remot ... -
FMS Client AS 自訂類別物件傳遞
2008-08-27 15:04 1022透過與 FMS 連線,可以共享 SharedObject 物件 ... -
FMS 常常会用到 3个Call 和3个Send
2008-08-27 14:51 2172FMS 常常会用到 3个Call 和3个Send 关于Flas ... -
flex as3 fms相关的资料(转)
2008-08-27 14:36 1660FMS.rar FMS系列教程http://www.fs2 ... -
视频类
2008-08-27 09:21 1786Flash Player作为流媒体的表现形式之一,视频编码是其 ... -
一步一步学Flash Media Server
2008-08-26 18:03 4323从今天起,我们来学习一下 Flash Media Server ... -
再说说onSync,SharedObject
2008-08-26 16:44 1574* 最多人不懂的就是:那个list参数看代码: my_rso ... -
视频监控软件(2)---异步录像
2008-08-26 16:10 1341不好意思,让大家久等了!今天我要实现的一个功能是异步录像!先讲 ... -
视频监控软件(1)---FMS视频流共享
2008-08-26 16:07 2671呵呵!临近毕业了,本人选择的毕业设计题目是(基于B/S模式的 ... -
flash fms WebService 交互过程
2008-08-26 16:01 1686//flash客户端call服务器端的方法,服务器端调用WS的 ... -
游戏开发常用FMS类
2008-08-26 15:51 1416游戏开发常用FMS类 ... -
FLEX提高篇--------ShareObject对象详解
2008-08-26 14:23 1101ShareObject,顾名思义共享对象,而通常意义上的共享, ... -
客户端呼叫Flash Medis Server3服务端入门
2008-08-26 14:02 1422当你不仅仅只想用FLEX来做纯业务数据的管理时,或者当你的项目 ... -
FMS两种方式实现简易聊天室
2008-08-26 14:01 1641原理和代码都很简单,没什么好说的. 一:利用ShareOb ... -
FLEX提高篇---------FMS简易聊天室加强版
2008-08-26 13:37 1803今天写了下简易聊天室的加强版 , 其实功能也十分有很 , 不过 ... -
Flex连接FMS实现用户列表(使用SharedObject)
2008-08-26 13:33 39561.先在FMS的安装目录中添加自己的应用(例如我的目录D:\M ... -
FMS 教程(SharedObject)用户列表
2008-08-26 13:32 2892FMS实现用户列表,一般都是利用List组件,和SharedO ... -
Fms教程7 理解共享对象
2008-08-26 13:13 1882理解共享对象 共享对象 ...
相关推荐
flex+EJB3.0整合开发实例,基于AMF3协议,使用JBOSS
AMF开源FluorineFx文件太大 对于只需要序列化和反序列化AMF数据流的朋友,这个库是不错的选择 支持.net 1.1和2.0+
NULL 博文链接:https://sjkgxf7191.iteye.com/blog/572828
visual studio 2015 Windows环境下编译 ffmpeg 所需的 opengl, ffnvcodec和AMF的include文件
在VS2010上用FluorineFX和Flex 4开发项目(asp.net): 使用VS2010和FluorineFX利用ASP.NET与flex 4进行联合开发,环境搭建教程!
之前测试解析amf3协议数据进行树化便于观察的,解析的有可能不是很完美,正常用来观察里面的数据没什么问题
AMF3 C++ 源码 修改版 支持序列化和对象化的AMF3解析
amf0 原版文档 完整版
amf3_spec amf3_spec amf3_spec amf3_spamf3_specec
AMF3 C++ AMF3 C++ 源码库码库
AMF3协议中文版定义.pdf
NULL 博文链接:https://leopard0825.iteye.com/blog/644028
支持AS3的ByteArray序列化对象的AMF格式编码、解码( readObject、writeObject )。 支持AS3的ByteArray的compress、uncompress压缩算法:DEFLATE、LZIB、LZMA。 支持直接修改AS3的ByteArray字节流内编码的对象。 ...
自己写的flash webgame 搭建的java 后台 解决了安全沙箱问题,可以进行聊天,和后台java函数的请求及响应。amf3 编码。
一个用C++编写的,amf3协议解析模块,可以实现flash通信协议的解析
amf3 的格式说明,英文版,做rtmp协议或者做与flash数据交互服务器端必备的参考
amf3_spec_05_05_08.pdf amf3_spec_05_05_08.pdf amf3_spec_05_05_08.pdf
Flex AMF通讯,主要用于初学者配置FluorineFx.net服务端
这实现了几乎所有AMF3功能,但对于长尾负载而言,性能至少提高了一个数量级。 作为“项目的一部分而编写。 安装: npm install node_amf_cc 用法: var amfcc = require('node_amf_cc'); var encoded = amfcc....
Action Message Format AMF3中英文对照 本人翻译 Abstract Action Message Format AMF is a compact binary format that is used to serialize ActionScript object graphs Once serialized an AMF encoded object ...