Lors du prototypage facile, vous pouvez facilement le créer en laissant le traitement compliqué à Python et le dessin au traitement. Lorsque je cherchais un bon moyen de coopérer, je pouvais simplement le faire avec une communication par socket. S'il vous plaît laissez-moi savoir s'il existe une meilleure façon.
Vous trouverez ci-dessous un exemple de code qui envoie uniquement un message texte unilatéralement de Python au traitement. Si vous démarrez d'abord le côté Traitement, puis exécutez le côté Python, un message sera émis vers la sortie standard de Traitement.
conenctWithPython.pde
import processing.net.*;
int port = 10001; //Définissez un numéro de port approprié
Server server;
void setup() {
server = new Server(this, port);
println("server address: " + server.ip()); //Adresse IP de sortie
}
void draw() {
Client client = server.available();
if (client !=null) {
String whatClientSaid = client.readString();
if (whatClientSaid != null) {
println(whatClientSaid); //Message de sortie de Python
}
}
}
toProcessing.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
host = "127.0.0.1" #Adresse IP du serveur lancé par Processing
port = 10001 #Numéro de port défini dans Traitement
if __name__ == '__main__':
socket_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Créer un objet
socket_client.connect((host, port)) #Connecter au serveur
#socket_client.send('Message à envoyer') #Envoyer des données Python2
socket_client.send('Message à envoyer'.encode('utf-8')) #Envoyer des données Python3
Recommended Posts