最初のプログラムの説明

ここで改めて最初のサーバープログラムとクライアントプログラムを読んで中身を理解していきましょう。

サーバープログラム

以下はサーバープログラムの再掲です。

import processing.net.*;

Server myServer;
int val = 0;

void setup() {
  size(200, 200);
  // Starts a myServer on port 5204
  myServer = new Server(this, 5204);
}

void draw() {
  val = (val + 1) % 255;
  background(val);
  myServer.write(val);
}

グローバル変数にServer型の myServer 変数を宣言し、setup 関数内でServerインスタンスを作成しています。

draw 関数では、グローバル変数 val の値を1増やし(256以上になったら0に戻す)、write メソッドによって現在の val の値を、接続された全てのクライアントに対して送信しています。

クライアントプログラム

以下はクライアントプログラムの再掲です。

import processing.net.*;

Client myClient;
int dataIn;

void setup() {
  size(200, 200);
  // Connect to the local machine at port 5204.
  // This example will not run if you haven't
  // previously started a server on this port.
  myClient = new Client(this, "127.0.0.1", 5204);
}

void draw() {
  if (myClient.available() > 0) {
    dataIn = myClient.read();
  }
  background(dataIn);
}

グローバル変数にClient型の myClient 変数を宣言し、 setup 関数内でサーバーへのコネクションを確立しています。

draw 関数では、はじめに available メソッドによってまだ読み込んでいない受信データがあるか確認します。 まだ読み込んでいない受信データがあれば、 read メソッドによって先頭の1バイトを取り出し、グローバル変数 dataIn に代入しています。

results matching ""

    No results matching ""