MaxMspとFlashとの連携でターミナルからserverを起動させる必要もないし、
さくっとすてきなのがFlashserverオブジェクトなんですが。
as3のが欲しかったので、Flashserverで活用できるXMLSocket classをポスト。
sendはpublicなのでほかからよんでみると楽しいかも。
*下記はloadの時に2008をMaxMsp側におくる所がはいっています。
FlashserverFun.as
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.XMLSocket;
public class FlashserverFun extends Sprite {
//ポート番号 MaxMsp flashserverオブジェクトの動いているマシンIP
private var hostName:String = "localhost";
//ポートは flashserverオブジェクトと合わせる
private var port:uint = 5000;
//ソケットを作成
private var socket:XMLSocket;
//送りたい数値
private var val:String="2008";
//マックスで受け取る変数名を指定
private var header:String="val";
//okurude = symbol + " " + value + ";"
public function FlashserverFun() {
socket = new XMLSocket();
configureListeners(socket);
socket.connect(hostName, port);
//MaxMspへの送信メッセージ ; は必ず必要
var sendheader=header+" "+val+";"
//trace(sendheader);
send(sendheader);
}
public function send(data:Object):void {
//センド命令関数
trace("send "+data);
socket.send(data);
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CLOSE, closeHandler);
dispatcher.addEventListener(Event.CONNECT, connectHandler);
dispatcher.addEventListener(DataEvent.DATA, dataHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
}
private function closeHandler(event:Event):void {
trace("closed: ");
}
private function connectHandler(event:Event):void {
//つながったらこれ
trace("connectOK: ");
}
private function dataHandler(event:DataEvent):void {
trace("data: ");
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioError: ");
}
private function progressHandler(event:ProgressEvent):void {
trace("progress:");
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityError: ");
}
}
}
-----------
This is a christmas present for nocchi!
Cheers!

