長嶋浩大
2021.05.25
TCP/IP通信について
Processingで作成したボタンをクライアント、sotaをサーバとしてProcessingから特定の文字列が送信されるとsotaが受信した文字列に合わせて処理を分岐するという機能を実装しています。

一度目にボタンを押した際には想定通りに動きますが、二度目以降ボタンを押してもsotaが動きません。

どのようなブロックが足りていないでしょうか。

ご回答のほどよろしくお願いいたします。
以下にクライアント側のコードを記載します。

import processing.net.*;
String str;

Client myClient;
void setup() {
  size(200, 200);

  myClient = new Client(this, "192.168.1.19", 8765 );
}

void draw() {
  background(255);
  if (mousePressed == true && mouseX     fill(color(255, 100, 100));
    ellipse( width/4, height/2, 20, 20);
    str="aa";
    myClient.write(str+' ');
  } else if (mousePressed == true && mouseX>=width/2) {
    fill(color(255, 100, 100));
    ellipse( width*3/4, height/2, 20, 20);  
    str="ab";
    myClient.write( str+' ' );
  }
}
回答
Sotaサポート
2021.05.25
長嶋浩大様

お世話になっております。Sotaサポートです。
ご提示いただいたVstoneMagicのプログラムは特に問題無いと思われます。
類似のプログラムを弊社で動作検証したところ、2回目以降も問題無く通信出来ました。

このことより、お使いのネットワーク環境もしくはクライアント側のプログラムに問題があるかもしれません。
ただ、クライアント側のプログラムにつきまして弊社では検証いたしかねますので、別途原因の切り分け・調査をご対応ください。

参考までにこちらではクライアントを独自プログラムではなくターミナルソフトのtera-termにて動作確認しました。
この質問に回答する
 

Page Top