Processing
Sttings.
import processing.net.*;
int port = 10002;
boolean myServerRunning = true;
int bgColor = 0;
int direction = 1;
int textLine = 60;
int rad = 60;
int[] dataArray = {0,0,0};
Server myServer;
void setup()
{
size(640, 360);
noStroke();
myServer = new Server(this, port);
background(102);
text("server", 15, 45);
}
void mousePressed()
{
myServer.stop();
myServerRunning = false;
}
void draw()
{
if (myServerRunning == true)
{
Client thisClient = myServer.available();
if (thisClient != null) {
if (thisClient.available() > 0) {
dataArray = int(split(thisClient.readString(), ","));
println(dataArray);
background(102);
text("server", 15, 45);
showData(dataArray[0],dataArray[1],dataArray[2]);
}
}
}
else
{
text("server", 15, 45);
text("stopped", 15, 65);
}
}
void showData (int x,int y,int z)
{
text(x, 10, textLine);
text(y, 60, textLine);
text(z, 110, textLine);
ellipse(100+ (x % 200), 100 + (y % 200), 12, 12);
}
サーバーはローカルホストで起動しているので、これにncコマンドで送ってみます
$ cat senddata.sh
var=100
while :
do
var=`expr $var + 20`
printf "%d,%d,111" $var 100 | netcat -c localhost 10002
sleep 1s
done