
引き続きCzech Academy of Sciencesによる科学と技術のイベント、enter3に参加中
昨日今日で、別会場が3つオープンした。
まず昨日は早めにAcademy of SciencesでのPileusの展示を切り上げてカンパ島のKampa Museumのオープニングセレモニーに行った。
F.J.Malinaという人の50年前の「動く絵」の作品を展示していて、これが面白い。
後ろに光源があって、カラフルな布?をレイヤにして配置して、回転させて、ぼかしたガラス?に投影させている。
完全にアナログで、アナログならではの質感と動きの感じが気に入った。俺は絵とかよくわかんないけど一つ欲しい。
こういうのが数十点あって、全部違う表現と質感と動きをする。
(ついFlashやprocessingで似た表現をする方法を考えてしまう。displacementmapfilter使えばいいのかと思うのもあるし、そうでもないのもある)
Czech Academy of Sciencesによる科学と技術のイベント、enter3にPileusの展示で来ています。
→ enter3 | FESTIVAL ENTER | exhibitions: WEB 2.0 GENERATION
今日で滞在4日目が終わる。展示は2日目が終わったところ。
今週いっぱい展示しています。
展示は国民劇場の目の前のacademy of sciences
他に3会場あるけど、まだPileusを展示してる会場しか開いていない。他は大体明日から。
→ 自作enter3map(kml)
AS3から増えてた普通のSocketクラスをなるべくシンプルに使う例
これ↓
一応動くけど、接続先が見つからない時の処理の書き方がよくわからない。
C#で作ったSocketServerとやりとりしている所
コード。全部1フレーム目。
varsocket:Socket=newSocket();
buttonConnect.addEventListener(MouseEvent.CLICK,buttonConnect_click);
buttonSend.addEventListener(MouseEvent.CLICK,sendText);socket.addEventListener(ProgressEvent.SOCKET_DATA,onRecvData);//データ受信した時
socket.addEventListener(Event.CONNECT,function(){//接続できた時
debug(“connected!”);
buttonConnect.label=”DisConnect?”;
});
socket.addEventListener(Event.CLOSE,function(){//サーバー側から閉じられた時
debug(“closedfromserver”);
buttonConnect.label=”Connect!”;
});functionbuttonConnect_click(e:Event){
if(!socket.connected){//接続していない時
debug(“connecting…”);
socket.connect(labelHost.text,newint(labelPort.text));//接続する
}
else{//接続している時
socket.close();//閉じる
debug(“closed”);
buttonConnect.label=”Connect!”;
}
}functionsendText(e:Event):void{
if(!socket.connected)return;
varbytes:ByteArray=newByteArray();
bytes.writeUTFBytes(labelSend.text);
socket.writeBytes(bytes);
socket.flush();
debug(“送信:”+bytes.toString());
}functiononRecvData(e:Event):void{
if(!socket.connected)return;
if(socket.bytesAvailable>0){
varbytes:ByteArray=newByteArray();
socket.readBytes(bytes);
varrecvStr:String=bytes.toString();
debug(“受信:”+recvStr);
}
}functiondebug(message:String):void{
trace(“debug:”+message);
textAreaLog.text=message+”¥n”+textAreaLog.text;
}
今更ながらs.h.log: SocketでC#とProce55ingの通信の続き。学部の頃に徳田先生のネットワークプログラミングの授業で習ったような気がする事を勉強した。
実はTcpClient、TcpListener、Threadまわりを理解してこれを作るのに2ヶ月ぐらいかかった。
Archive(SrouceCode, exe / VisualStudio2005 C#2.0)
3つサンプルを作った。作った順に
1.SocketClient
普通にクライアント。指定したIPのportに接続する。テキストの送受信ができるウィンドウ付き。文字コードはUTF-8
2.SocketServer
普通のソケットサーバー。これ作ったときは、同じPortで複数のclientと接続できる事を知らなかった。SocketClientと1対1で対応する。
3.SocketBridge
SocketServerを改造して、複数clientとセッションをはれる様にした。コレはFlashのAS3から使えるようになったSocketにlistenメソッドが無いので、FlashとFlashを直接通信させる為のオスメス変換的ツールを目指して作った。(FlashMediaServer使えば良いんだけど)
clientから受信したデータを他の全てのclientに転送する様にしたので、ブリッジというよりハブかもしれない。