Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Hızlı çalışan server Firebase, Udp, Tcp, MQTT
#6
(18-06-2022, Saat: 07:43)3ddark Adlı Kullanıcıdan Alıntı: Çift taraflı canlı olarak haberleşme için TCP mqtt udp gibi soket uygulaması kullanın. Fakat istek cevap ve sürekli olmayacaksa rest iyidir ve güncel çözümdür.

Cihaz sayın çok az. En güncel en rahat ve en kolay kullanım Restfull api server ile çalışmak. Delphi ve bir sürü dil ile bunu rahatlıkla kullanabilirsiniz. Delphi, nodejs, Java, PHP, .net core, golang

Delphi iyidir derseniz. Bununla ilgili mantığını anlatacak giriş seviye bir örnek verebilirim. Diğer diller için internette bir sürü örnek mevcut

Web tarafında bilgim ve tecrübem az.  Örnekbir rest servis ile 2g üzerinden http get verisini alıp mysqle yazmıştım. Kullandığım Arduino kütüphanesinden mi yoksa 2G sebebiyle mi bilmiyorum ama veri gelme ve yazma zamanı çok uzun göründü gözüme. Yaptığım her işlemi de seri monitörden takip ettiğim için de işlemin yavaş olmasına sebep olmuş olabilir.

Öncelik anlık veriyi dinleme yapan 3-5 kullanıcıya bildirmek.Veriyi get ile alıp yazıp daha sonra talep eden kullanıcıya tekrar get ile json olarak vermek iletişim süresini uzatmaz mı?
PHP bilgim çok sınırlı gelen son datayı db e yazmadan önce değişken içinde tutup istek yapan client a vermek mümkün mü?
Basit bir delphi server denedim json olarak gelen get verisini alamadım ve cevap geriye json olarak da dönüş yapamadım.

   
procedure TfrmAna.IdHTTPServer1CommandGet(AContext: TIdContext;
 ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
 var
 HtmlResult: String;
   wrtJSON: TJsonObjectWriter;
   giden:String;
   Jvalue: TJSONValue;
   islem:integer;
begin
Listbox1.Items.Add (ARequestInfo.Document);
Listbox1.Items.Add (ARequestInfo.Command);
memo1.Lines.Add('calisti');
try
   Jvalue := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(ARequestInfo.Document), 0)
     as TJSONObject;
   islem := Jvalue.GetValue<integer>('islem');
   case islem of

     0:begin
      var seri :=  Jvalue.GetValue<String>('seri');
      var data1 :=  Jvalue.GetValue<String>('data1');
      var data2 :=   Jvalue.GetValue<String>('data2');
      memo1.lines.Add(seri +' '+ data1+' '+ data2);

     end;
      1:begin //android telefondan
        wrtJSON := TJsonObjectWriter.Create();
       try
         wrtJSON.WriteStartObject;
         wrtJSON.WritePropertyName('islem');
         wrtJSON.WriteValue('bilgi');
         wrtJSON.WriteEndObject;
         Memo1.Text := wrtJSON.JSON.Format;
         HtmlResult := wrtJSON.JSON.Format;
       finally
         wrtJSON.DisposeOf;
       end;
      AResponseInfo.ContentText := HtmlResult ;
            end;
         end;

  // Memo1.lines.Add(islem);

 finally
   Jvalue.DisposeOf;
 end;

wrtJSON := TJsonObjectWriter.Create();
 try
   wrtJSON.WriteStartObject;
   wrtJSON.WritePropertyName('islem');
   wrtJSON.WriteValue('ilk_veri');
   wrtJSON.WriteEndObject;
   Memo1.Text := wrtJSON.JSON.Format;
   HtmlResult := wrtJSON.JSON.Format;
 finally
   wrtJSON.DisposeOf;
 end;
AResponseInfo.ResponseNo := 200 ;
AResponseInfo.ResponseText:=htmlresult;
AResponseInfo.ContentText:=htmlresult;
end;

Delphi Indy ile web server i çözemedim. GET komutu çalışıyor ama veriyi alamaıyorum.

   
   
   

Dün gece MQTT ile bir örnek hazırladım 500ms lik bir bekleme ile çalışıyor.

   

Delphi Indy ile basit bir web server hazırlayabilsem MQTT den daha verimli mi olur denemek istiyorum.
Cevapla


Bu Konudaki Yorumlar
Cvp: Hızlı çalışan server Firebase, Udp, Tcp, MQTT - Yazar: 41linea41 - 18-06-2022, Saat: 11:46

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Mobil Client - Desktop Server Uygulama Teknik Önerisi burakb44 7 873 12-06-2026, Saat: 18:15
Son Yorum: mcuyan
  Delphi ile SQL server bağlantı hatası yakalama Under 20 3.159 21-11-2025, Saat: 15:24
Son Yorum: mrmarman
  TIdHTTPWebBrokerBridge ile HTTP server de response bloklanabilirmi? aegean 1 575 25-09-2025, Saat: 19:57
Son Yorum: aegean
  Rest Server Hata m_ekici 2 925 09-03-2025, Saat: 13:32
Son Yorum: m_ekici
  Rest Server e gönderilen bilgiler m_ekici 8 2.004 17-02-2025, Saat: 11:43
Son Yorum: m_ekici



Konuyu Okuyanlar: 1 Ziyaretçi