Есть пример под Red5, написан на AS2 ... чат....

Код:
import mx.utils.Delegate;
var nc:NetConnection = new NetConnection();
nc.connect("rtmp://localhost/oflaDemo");
var so:SharedObject = SharedObject.getRemote("simpleChatDemo", nc.uri, false);
so.onSync = Delegate.create(this, newMessageHandler);
so.connect(nc);
send.addEventListener("click", Delegate.create(this, sendMessage));
function sendMessage():Void
{
so.data.chatMessage = message.text;
message.text = "";
}
function newMessageHandler(evtObj:Object):Void
{
var newChat:String = so.data.chatMessage;
if(newChat == null) return;
history.text += newChat + "\n";
history.vPosition = history.maxVPosition;
}
я его переписал под AS3 в виде

Код:
var nc:NetConnection = new NetConnection();
nc.connect("rtmp://localhost/oflaDemo");
nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
function asyncErrorHandler(event:AsyncErrorEvent):void {
// ignore error
}
var so:SharedObject = SharedObject.getRemote("simpleChatDemo", nc.uri, false);
so.addEventListener (SyncEvent.SYNC, newMessageHandler);
so.connect(nc);
send.addEventListener("click", sendMessage);
function sendMessage(e:MouseEvent ):void
{
so.data.chatMessage = message.text;
message.text = "";
}
function newMessageHandler(evtObj:SyncEvent):void
{
var newChat:String = so.data.chatMessage;
if(newChat == null) return;
history.text += newChat + "\n";
history.vPosition = history.maxVPosition;
}
в AS2 варианте все работает, AS3 - коннектится, но не работает ((((
может я где-то что-то упустил ?
зы. не надо упаковывать в package, class и тд - это не принципиально...