Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Diğer => Konuyu başlatan: berkay_91 - 10 Eylül 2019, 12:05:05

Başlık: Processing de UDP Haberleşme
Gönderen: berkay_91 - 10 Eylül 2019, 12:05:05
Merhaba, 2 farklı Laptopda UDP Protokolü ile Processing de çalışan programları Haberleştirmek istiyorum, server üzerinden klavyede bastığım karakterleri göndermeme rağmen Client ta gelen veri 'a' olduğunda if in içine girmiyor...


// Server
import hypermedia.net.*;

UDP udp;  // define the UDP object

void setup() {
  udp = new UDP( this, 6000 );
  udp.listen( true );
}


void draw() {
}

void keyPressed() {
   
    String message  = str( key ); 
    String ip       = "192.168.0.105"; 
    int port        = 6000;   
   
    udp.send( message, ip, port );
}


//Client

import hypermedia.net.*;

UDP udp;  // define the UDP object

void setup() {

  udp = new UDP( this, 6000 );
  udp.listen( true );
  size(400,400);
}

void draw() {
}

 void receive( byte[] data ) {     
  String message = new String( data );
 
  if(message=="a")
    exit();
 
  println( "receive: " + message);
}


(https://i.ibb.co/cCDmkz1/img.png) (https://ibb.co/cCDmkz1)
Başlık: Ynt: Processing de UDP Haberleşme
Gönderen: devrecii - 10 Eylül 2019, 15:38:11
Belki a nın yaında \r\n (enter) geliyor olabilir yada başka şey o nedenle stringin sadece ilk harfini kontrol et , yada gelen verirn tamamını tek tek kotrol et "a" varmı diye (udp olduğu için)
Başlık: Ynt: Processing de UDP Haberleşme
Gönderen: taydin - 10 Eylül 2019, 16:59:42
UDP protokolünde, gönderici hiçbir zaman verinin alıcıya ulaşıp ulaşmadığını tespit edemez. Nadir de olsa mutlaka veri kaybı olacaktır.

Sizin koddaki problem bu değil muhtemelen, ama yapacağınız haberleşme protokolünde bu durumu da gözününde bulundurmanız lazım.
Başlık: Ynt: Processing de UDP Haberleşme
Gönderen: SpeedyX - 10 Eylül 2019, 17:09:01
Çünkü String karşılaştırması == ile yapılmaz.

Şöyle yaparsan çalışır:
if (message.equals("a") == true)
Başlık: Ynt: Processing de UDP Haberleşme
Gönderen: berkay_91 - 10 Eylül 2019, 20:51:11
teşekkürler