Skip to content

Instantly share code, notes, and snippets.

@rjungemann
Created January 14, 2010 23:27
Show Gist options
  • Save rjungemann/277608 to your computer and use it in GitHub Desktop.
Save rjungemann/277608 to your computer and use it in GitHub Desktop.
Communicate between Flash and Ruby over sockets
require 'rubygems'
require 'eventmachine'
module SocketSampleServer
def post_init
puts "Connecting: someone connected to the echo server!"
end
def receive_data data
send_data "Received: #{data}"
end
end
EventMachine::run do
EventMachine::start_server "127.0.0.1", 8081, SocketSampleServer
end
package {
import flash.display.Sprite;
import flash.net.Socket;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
public class SocketSample extends Sprite {
private var socket:Socket;
public function SocketSample() {
socket = new Socket();
socket.addEventListener(Event.CONNECT, onConnect);
socket.addEventListener(Event.CLOSE, onClose);
socket.addEventListener(IOErrorEvent.IO_ERROR, onError);
socket.addEventListener(ProgressEvent.SOCKET_DATA, onResponse);
socket.connect("localhost", 8081);
}
private function onConnect(e:Event):void {
trace("Connected!");
socket.writeUTFBytes("Sending: Hello, world!");
socket.flush();
}
private function onResponse(e:ProgressEvent):void {
trace(socket.readUTFBytes(socket.bytesAvailable));
}
private function onError(e:IOErrorEvent):void {}
private function onClose(e:Event):void {}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment