|
| 1 | +package { |
| 2 | + import flash.display.Sprite; |
| 3 | + import flash.text.TextField; |
| 4 | + import flash.net.NetConnection; |
| 5 | + import flash.net.SharedObject; |
| 6 | + import flash.net.ObjectEncoding; |
| 7 | + import flash.events.*; |
| 8 | + |
| 9 | + public class SampleRTMPClient extends Sprite { |
| 10 | + internal var display_txt:TextField; |
| 11 | + internal var netconn:NetConnection; |
| 12 | + internal var so:SharedObject; |
| 13 | + internal var so2:SharedObject; |
| 14 | + |
| 15 | + public function SampleRTMPClient() { |
| 16 | + display_txt = new TextField(); |
| 17 | + display_txt.text = "Connecting..."; |
| 18 | + display_txt.width = 400; |
| 19 | + display_txt.height = 300; |
| 20 | + display_txt.border = true; |
| 21 | + display_txt.multiline = true; |
| 22 | + display_txt.wordWrap = true; |
| 23 | + addChild(display_txt); |
| 24 | + |
| 25 | + NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0; |
| 26 | + netconn = new NetConnection(); |
| 27 | + netconn.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); |
| 28 | + |
| 29 | + netconn.connect("rtmp://127.0.0.1:80/test","arg1",42); |
| 30 | + } |
| 31 | + |
| 32 | + public function netStatusHandler(event:NetStatusEvent):void{ |
| 33 | + switch(event.info.code){ |
| 34 | + case 'NetConnection.Connect.Failed': |
| 35 | + case 'NetConnection.Connect.Rejected': |
| 36 | + display_txt.text = "Connection failed."; |
| 37 | + break; |
| 38 | + case 'NetConnection.Connect.Success': |
| 39 | + display_txt.text = "Connection OK."; |
| 40 | + so = SharedObject.getRemote("so_name", netconn.uri); |
| 41 | + so.addEventListener(SyncEvent.SYNC, soSyncHandler); |
| 42 | + so.connect(netconn); |
| 43 | + break; |
| 44 | + } |
| 45 | + } |
| 46 | + |
| 47 | + public function soSyncHandler(event:SyncEvent):void{ |
| 48 | + display_txt.text = "so_name.sparam = " + so.data.sparam; |
| 49 | + so2 = SharedObject.getRemote("so2_name", netconn.uri); |
| 50 | + so2.addEventListener(SyncEvent.SYNC, so2SyncHandler); |
| 51 | + so2.connect(netconn); |
| 52 | + } |
| 53 | + |
| 54 | + public function so2SyncHandler(event:SyncEvent):void{ |
| 55 | + display_txt.text = "so2_name.sparam = " + so2.data.sparam; |
| 56 | + } |
| 57 | + } |
| 58 | +} |
0 commit comments