Tahinli / rust-tcp-file-transfer

TCP File Transfer Server and Client in Rust
GNU General Public License v3.0
4 stars 0 forks source link

Symlink Transfer #11

Closed Tahinli closed 1 month ago

Tahinli commented 10 months ago

@orhun Selamlar, öncelikle kod tek dosyada olduğu için kusura bakmayın, zamanım olduğunda parçalara ayıracağım. O kısma çalışmayı henüz bitirmedim.

Var olan algoritma ile -> { aynı dosya ismiyle alıcıda bir dosya oluştur oluştur varsa uzantısıyla beraber toplam boyutu küçük parçalar halinde yinelemeli olarak oku her iterasyonda okuduklarını gönder alıcıda gelen veriyi oluşturulan dosyaya yaz }

Symlinkleri farklı işletim sistemleri arasında bu algoritma ile transfer edebilir miyiz ? Ben denemelerimde başarılı olamadım. Ancak bir symlink arşivlenir ve alıcıda arşiv açılırsa başarılı olduğu senaryoları gördüm. Sizin de fikirlerinize açığım.

orhun commented 10 months ago

Merhabalar,

Oncelikle kodu formatlamanizi oneririm (cargo fmt), bu halde okumak gercekten cok zor 🐻

Onun disinda soruya baktigim zaman yeni bir protokol olusturuyormussun gibi geldi. Bence TCP transferden once bahsettigin algoritmanin PoC'sini yapman daha iyi olur. Rust forumunda standard kutuphane icerisindeki fonksiyonlari kullanarak symlink'ler ile ilgili cesitli islemler yapabilecegini yazmislar. Her seyden once bunun testini yapip gerekirse yeni bir kutuphane yazmani oneriyorum. Daha sonra bu kutuphaneyi/protokolu projene dahil edip ilerleyebilirsin.

Benzeri bir calisma yapmadigim icin tam olarak bir yol gosteremeyecegim malesef. Biraz gec yazdigim icin de kusura bakma lutfen, yogun gunler x_x

Tahinli commented 10 months ago

Merhabalar,

Oncelikle kodu formatlamanizi oneririm (cargo fmt), bu halde okumak gercekten cok zor 🐻

Onun disinda soruya baktigim zaman yeni bir protokol olusturuyormussun gibi geldi. Bence TCP transferden once bahsettigin algoritmanin PoC'sini yapman daha iyi olur. Rust forumunda standard kutuphane icerisindeki fonksiyonlari kullanarak symlink'ler ile ilgili cesitli islemler yapabilecegini yazmislar. Her seyden once bunun testini yapip gerekirse yeni bir kutuphane yazmani oneriyorum. Daha sonra bu kutuphaneyi/protokolu projene dahil edip ilerleyebilirsin.

Benzeri bir calisma yapmadigim icin tam olarak bir yol gosteremeyecegim malesef. Biraz gec yazdigim icin de kusura bakma lutfen, yogun gunler x_x

Çok teşekkür ederim. Önerilerinizi dikkate alacağım.