udp
/**** CLIENTE ****/
DatagramPacket dpEnviar;
DatagramPacket dpRecibe;
InetAddress ipServidor;
DatagramSocket ds;
byte[] benviar;
byte[] brecibo;
int puerto;
float posX=0;
float posY;
String lugar="c";
String posiciones="";
void setup(){
size(350,200);
posY=height/2;
posiciones = posX +"_" + posY + "_" + lugar;
try{
ipServidor = InetAddress.getLocalHost();
puerto=4000;
ds = new DatagramSocket();
}
catch(UnknownHostException ex){
println("Cliente: "+ ex);
}
catch(SocketException ex){
println("Cliente: "+ ex);
}
}
void draw(){
background(5);
smooth();
try{
benviar=posiciones.getBytes();
dpEnviar =new DatagramPacket(benviar, benviar.length, ipServidor, puerto);
ds.send(dpEnviar);
}
catch(IOException ex){
println( "Cliente: "+ ex);
}
lugar=(posiciones.split("_"))[
if(lugar.equals("c"))
ellipse(posX,posY, 70,70);
}
void keyPressed(){
if ((key == CODED) ) {
if (keyCode == LEFT) {
posX-=5;
} else if (keyCode == RIGHT) {
posX+=5;
}
if (posX >= width)
lugar="s";
else
lugar="c";
}
posiciones = posX +"_" + posY + "_" + lugar;
}
/***** SERVIDOR ****/
DatagramPacket dpEnviar;
DatagramPacket dpRecibe;
DatagramSocket ds;
byte[] benviar;
byte[] brecibo=new byte[250];
int puerto;
float posX=0;
float posY;
String lugar="";
InetAddress ipCliente;
String posiciones;
void setup(){
size(350,200);
posY=height/2;
posiciones="";
try{
puerto=4000;
ds = new DatagramSocket(puerto);
ds.setSoTimeout(50);
}
catch(SocketException ex){
println("Servidor: "+ ex);
}
}
void draw(){
background(5);
smooth();
try{
dpRecibe=new DatagramPacket(brecibo,
ds.receive(dpRecibe);
posiciones =new String(brecibo);
}
catch(IOException ex){
println("Servidor: "+ ex);
}
if ((trim((posiciones.split("_"))
lugar=trim((posiciones.split("
posX =Float.parseFloat((posiciones.
posY =Float.parseFloat((posiciones.
ellipse(posX-width,posY, 70,70);
}
}