TypeError: sequence item 6: expected str instance, bytes found hatasını aldım.
araştırıp anladığım anladığım kadarıyla Servera string gönderirken byte kodu gönderdigim için hata verdi.
data = "\n",b" ".join(("k",image_data))
bu şekilde hepsini byte olarak gönderim ama bu seferde tam tersini verdi. Yani hem string hemde byte anda gönderebilir miyim, yoksa başka bir yolu var mı? bu arada gönderidigim byte resim dosyası.
Server yollanan verinin tamamını tek seferde alamıyor. recv in içine büyük bir sayı yazılabilir ama asıl çözüm mesajların başında verinin uzunluğunun gönderildiği bir protokol yazmak. Server kaç byte veri alması gerektiğini anlar bu sayede.
Doğru dediniz ama onu yapmaya çalıştım, ama kısır döngü gibi bir şey oldu. Sonuç olarak aşağıdaki kodlar çalışıyor, ama sizin dediğiniz şeyi yapabileceğimi sanmıyorum, dediğinizi çalıştırmak için bir fikriniz var mı?
socket uzerine protokol tasarlanmasi gereken alt seviye bir arayuze erisim saglayan bir modul. Bu forumda neden bu kadar populer anlayabilmis degilim, sanirim alternatiflerden bahsedilmedigi icin. Simdiye kadar gordugum orneklerin hepsi RPC veya benzeri bir mesajlasma kutuphanesiyle cok rahat cozuluyor:
socket.io var, web aplikasyonlariyla da konusabiliyor.
Python’un xmlrpc'si varmis, ornekleri de basit duruyor.
Neyse, buradaki sorunu ve cozumunu @EkremDincel cok iyi aciklamis.
Ve hayir, pickle string’inin uzunlugunu belirten sayi pickle string’inin bir parcasi olamaz.
Dogrusu uzunlugu sabit uzunlukta bir sayi olarak yollayip datayi ardindan yollamak.