Iocp socket binary data

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Iocp socket binary data

Mesaj gönderen ikra »

Selamun aleykum...
Iocp socket ile binary data gondermeye calisiyorum, fakat binary data icerisinde #0 isareti bulundugundan dolayi gonderme islemini #0 karakterine kadar gerceklestiriyor ve bundan sonrasini terminated algiladigi icin gondermiyor.

Kod: Tümünü seç

setlength(data,4);
PInteger(@data[1])^ := 5;
PInteger(@data[3])^ := 3;
Verinin goruntusu

Kod: Tümünü seç

#5#0#3#0
Bu veriyi gondermeye calistigimda ikinci byte #0 oldugu icin karsi tarafa yalnizca birinci byte ulasiyor.
Bir sekilde bu veriyi sifirlari ortadan kaldirmadan gondermem gerekiyor.
Fikri olan var mi?
kıdemsiz üye
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Iocp socket binary data

Mesaj gönderen SimaWB »

Veriyi nasıl gönderdiğinizi yazmadığınız için emin olamıyorum ama socket'in SendText, SendString gibi komutlarını kullanıyorsanız bahsettiğiniz sorunu yaşamanız mümkün. Ama socket'in SendBuf (yada bu tarz birşey) komutunu kullandığınız zaman socket verinin içeriğiyle ilgilenmez. Parametre olarak verilen pointer'dan, yine parametre ile verilen uzunluk kadar veriyi gönderir.
There's no place like 127.0.0.1
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Iocp socket binary data

Mesaj gönderen ikra »

Veriyi direkt buffere kopyalayip wsasend ile gonderiyorum. Bufferde veri tam olarak gorunuyor fakat dedigim gibi terminate isaretine kadar gonderiyor.
kıdemsiz üye
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Iocp socket binary data

Mesaj gönderen ikra »

Sorun MultiByte SinglByte olayiymis.
ilgin icin tesekkür ederim.
Hakkini helal et...
kıdemsiz üye
Cevapla