Tcp' den Cevap Nasıl Alınır?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Tcp' den Cevap Nasıl Alınır?

Mesaj gönderen neu84 »

Arkadaşlar serversocket ve clientsocket kullandıgım uygulamam var. Heryerde Tcp verinin alıp alınmadıgını geri dönderir, udp öyle bi bilgi sunmaz deniyor. Ama bu tcpde ulaştı, gitti bilgisinin client tarafından nereden ve nasıl elde edilebilinecegini hiç söylemiyolar.. Bi fikri olan var mı acaba?
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Tcp' den Cevap Nasıl Alınır?

Mesaj gönderen SimaWB »

Gönderdiğiniz bilginin karşıya ulaştığını öğrenmek için tek yol karşı taraftan bir cevap gelmesidir. Örneğin siz ClientSocket'le ServerSocket'e veri gönderdiniz diyelim. Bu veri server'a ulaşınca server'dan client'e bir mesaj göndermeniz lazım.
Bunu TCP yada UDP protokolü size hazır olarak sunmaz. Sadece TCP'de hedefin erişilebilir ve hazır olması gerekir. Ama UDP'de böyle olması gerekmez. Bir yerlerde okumuştum; TCP'yi bir telefon görüşmesine, UDP'yi de postayla kart göndermeye benzetmişlerdi...
There's no place like 127.0.0.1
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Tcp' den Cevap Nasıl Alınır?

Mesaj gönderen neu84 »

SimaWB yazdı:Gönderdiğiniz bilginin karşıya ulaştığını öğrenmek için tek yol karşı taraftan bir cevap gelmesidir. Örneğin siz ClientSocket'le ServerSocket'e veri gönderdiniz diyelim. Bu veri server'a ulaşınca server'dan client'e bir mesaj göndermeniz lazım.
Bunu TCP yada UDP protokolü size hazır olarak sunmaz. Sadece TCP'de hedefin erişilebilir ve hazır olması gerekir. Ama UDP'de böyle olması gerekmez. Bir yerlerde okumuştum; TCP'yi bir telefon görüşmesine, UDP'yi de postayla kart göndermeye benzetmişlerdi...
Çok teşekkür ederim güzel fikir için.. Bu sanırım client'ın server baglanması ve onclintread eventının çalışması sonucu elde edilebilecek bişey.. ancak şu var, yolladıgımız veriyi server okur ama peki ya tam olarak alamazsa, eksik alırsa bunun için bi cevap yollayabilecekmi onu bilmiyorum. yani onclientread çalıştıgnda bize bişeyler gelecek ulaştı gibisinden ama veri tamamen gitti mi gitmedi mi onu bilemiycez, tam gitsede yollliycak, eksik gitsede.çyada ben yanlış mı düşünüyorum acaba?
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Tcp' den Cevap Nasıl Alınır?

Mesaj gönderen SimaWB »

neu84 yazdı:
SimaWB yazdı:Gönderdiğiniz bilginin karşıya ulaştığını öğrenmek için tek yol karşı taraftan bir cevap gelmesidir. Örneğin siz ClientSocket'le ServerSocket'e veri gönderdiniz diyelim. Bu veri server'a ulaşınca server'dan client'e bir mesaj göndermeniz lazım.
Bunu TCP yada UDP protokolü size hazır olarak sunmaz. Sadece TCP'de hedefin erişilebilir ve hazır olması gerekir. Ama UDP'de böyle olması gerekmez. Bir yerlerde okumuştum; TCP'yi bir telefon görüşmesine, UDP'yi de postayla kart göndermeye benzetmişlerdi...
Çok teşekkür ederim güzel fikir için.. Bu sanırım client'ın server baglanması ve onclintread eventının çalışması sonucu elde edilebilecek bişey.. ancak şu var, yolladıgımız veriyi server okur ama peki ya tam olarak alamazsa, eksik alırsa bunun için bi cevap yollayabilecekmi onu bilmiyorum. yani onclientread çalıştıgnda bize bişeyler gelecek ulaştı gibisinden ama veri tamamen gitti mi gitmedi mi onu bilemiycez, tam gitsede yollliycak, eksik gitsede.çyada ben yanlış mı düşünüyorum acaba?
Örneğin; gönderdiğiniz paketin en sonundaki byte paketin boyutunu belirtebilir. Server aldığı paketteki veri miktarını son byte'taki değerle karşılaştırıp ona göre client'a bir mesaj gönderir.
There's no place like 127.0.0.1
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Tcp' den Cevap Nasıl Alınır?

Mesaj gönderen neu84 »

SimaWB yazdı: Örneğin; gönderdiğiniz paketin en sonundaki byte paketin boyutunu belirtebilir. Server aldığı paketteki veri miktarını son byte'taki değerle karşılaştırıp ona göre client'a bir mesaj gönderir.
Cevap için teşekkür ederim.
En sonundaki byte derken mesela ne olabilir, bi karakter filan mı? yada gönderilen stringin length degeri mi?
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Tcp' den Cevap Nasıl Alınır?

Mesaj gönderen SimaWB »

neu84 yazdı: Cevap için teşekkür ederim.
En sonundaki byte derken mesela ne olabilir, bi karakter filan mı? yada gönderilen stringin length degeri mi?
Aslında bu aradaki protokol tamamen size bağlı. İstediğiniz şekilde server-client arasında bir mesajlaşma protokolü oluşturabilirsiniz. Benim bahsettiğim örnekte gönderilen paketin boyutunu kastetmiştim. Yani sizin "string length" diye bahsettiğiniz değer. (string length hesaplarken Unicode vs dikkat etmelisiniz. Bence en güzeli gönderilen verinin kaç byte olduğunu hesaplamak).
There's no place like 127.0.0.1
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Tcp' den Cevap Nasıl Alınır?

Mesaj gönderen neu84 »

Peki teşekkür ederim.. Deniycem..

İyi çalışmalar.
Cevapla