[SOLVED] AIR client?

All Union Platform questions, comments, feature requests, and bug reports.

AIR client?  

Postby digitalarcana » Thu 21 Feb 2013 17:39

I'm considering the Union Cloud service for an upcoming AS3 game to handle network communications and some persistent data.

The docs seem oddly specific about the Reactor Client requiring Flash 9 Player. I will assume newer players will also work, but what about a native-bundled AIR app? No problems?

Thank you!

--DigArc
digitalarcana
 
Posts: 1
Joined: Thu 21 Feb 2013 17:37

Re: AIR client?

Postby colin » Wed 06 Mar 2013 11:26

hi digarc,
yes, Union/Reactor should work fine with a native air app. but of course, you should do a specific quick test on your target platform just to be sure.

here's some code you can use for a basic test:

Code: Select all
package {
  import flash.display.Sprite;
  import flash.events.KeyboardEvent;
  import flash.text.TextField;
  import flash.text.TextFieldType;
  import flash.ui.Keyboard;

  import net.user1.reactor.IClient;
  import net.user1.reactor.Reactor;
  import net.user1.reactor.ReactorEvent;
  import net.user1.reactor.Room;

  public class UnionChatPart1 extends Sprite {
    protected var reactor:Reactor;
    protected var chatRoom:Room;
    protected var incomingMessages:TextField;
    protected var outgoingMessages:TextField;

    public function UnionChatPart1 () {
      buildUI();
      reactor = new Reactor();
      reactor.addEventListener(ReactorEvent.READY, readyListener);
      reactor.connect("tryunion.com", 80);
    }

    protected function readyListener (e:ReactorEvent):void {
      incomingMessages.appendText("Connected to Union\n");
      chatRoom = reactor.getRoomManager().createRoom("chatRoom");
      chatRoom.addMessageListener("CHAT_MESSAGE", chatMessageListener);
      chatRoom.join();
    }

    protected function buildUI ():void {
      incomingMessages = new TextField;
      incomingMessages.border = true;
      incomingMessages.background = true;
      incomingMessages.width = 400;
      incomingMessages.height = 200;

      outgoingMessages = new TextField;
      outgoingMessages.type = TextFieldType.INPUT;
      outgoingMessages.border = true;
      outgoingMessages.background = true;
      outgoingMessages.width = 400;
      outgoingMessages.height = 20;
      outgoingMessages.y = 210;
      outgoingMessages.addEventListener(KeyboardEvent.KEY_UP, keyUpListener);
      addChild(incomingMessages);
      addChild(outgoingMessages);
    }

    protected function keyUpListener (e:KeyboardEvent):void {
      if (e.keyCode == Keyboard.ENTER) {
        chatRoom.sendMessage("CHAT_MESSAGE",
                             true,
                             null,
                             outgoingMessages.text);
        outgoingMessages.text = "";
      }
    }

    protected function chatMessageListener (fromClient:IClient,
                                            messageText:String):void {
      incomingMessages.appendText("Guest"
                                  + fromClient.getClientID()
                                  + " says: "
                                  + messageText + "\n");
    }
  }
}

colin
 
Posts: 232
Joined: Mon 17 Oct 2011 18:47


Return to Union Platform

Online

Users browsing this forum: No registered users and 6 guests