Я пытаюсь запустить следующий сценарий Java из командной строки через PHP в среде Windows / Xampp.
//Unlock
import processing.net.*;
Client myClient;
void setup() {
size(300, 300)
// Connect to the local machine at port 10002.
// This example will not run if you haven't
// previously started a server on this port.
myClient = new Client(this, "127.0.0.1", 6789);
// Say hello
myClient.write("UUID=F326597E&NAME=Name");
exit();
}
void draw() {
}
Ранее я запускал скрипт, используя Обработка 2.2.1 и скомпилировал Java в .exe, который я запускаю с помощью команды PHP system (). Мне нужно иметь возможность передать как минимум две переменные в скрипт выше и установить их в качестве полей UUID и NAME в функции myClient.write ().
Прошло уже много лет с тех пор, как я написал любую Java, и любая попытка обернуть вышеописанный сценарий в класс приводит к ошибкам. Кто-нибудь может посоветовать, как мне передать аргументы в сценарий и собрать их с другой стороны?
Большое спасибо!
Каждый эскиз обработки (PApplet) имеет арг свойство, которое дает вам доступ к списку аргументов командной строки.
Согласно документам:
Параметры командной строки передаются из main (). Это не включает
аргументы переданы самому PApplet.
Так что-то вроде этого должно работать:
import processing.net.*;
Client myClient;
String uuid = "F326597E";
String name = "Name";
void setup() {
size(300, 300);
if(args.length < 2) System.err.println("uuid,name args missing, using defaults: " + uuid+","+name+"\n");
else{
uuid = args[0];
name = args[1];
println("parsed args uuid: " + uuid+"\tname:" + name);
}
// Connect to the local machine at port 10002.
// This example will not run if you haven't
// previously started a server on this port.
myClient = new Client(this, "127.0.0.1", 6789);
// Say hello
myClient.write("UUID="+uuid+"&NAME="+name);
exit();
}
void draw() {
}
Вызов приложения обработки из PHP для вызова другого скрипта PHP звучит немного запутанно. Чего именно вы пытаетесь достичь? (Возможно, есть более простой способ)
Других решений пока нет …