sendfile()
makine A'dan makine B'ye veri almak için bir "dosya" tanımlayıcısından bir "soket" tanımlayıcısına veri iletmek için kullanılabilir. "soket" tanımlayıcısından gelen alıcı, benzer sıfır kopya semantiklere sahip bir dosyaya mı? Sanırım sendfile()
, sendfile()
veri kaynağının "page/buffer" önbelleği olması gerektiğinden, burada yardımcı olmadı. Anlayışım doğru mu? Bu durumda splice()
yardımı olabilir mi?SendFile() ve splice() öğesinin anlamı
6
A
cevap
11
Bunun için sendfile
sınırlaması konusunda haklısınız. Ve evet, splice
yardımcı olabilir, ancak önemsiz: splice
kaynak veya hedef dosya tanımlayıcılarından en az birinin bir boru olmasını gerektirir. Yani bir soketten bir düz dosya tanıtıcısına doğrudan splice
yapamazsınız.
Kavramsal olarak, o iş yapmak için yapabileceği budur:
- kurulum gelen soket fd ve çıktı dosyası fd normalde
- bir döngü içinde
pipe(2)
- ile bir boru yaratacak şekilde : borunun okuma taraftan
splice
- yazma ile borunun yazma tarafına soketten
- okuma th Ayrıca
splice
- okuma th Ayrıca
tekrarlayın tüm veriler okunana kadar geçen aşamaları ile e dosyası.
Zero-Copy in Linux with sendfile() and splice(), bu tekniğin bir uygulamasına sahiptir.
İlgili konular
- 1. ad alanı "std" öğesinin "türk" anlamı yok
- 2. Java'da splice arraylist ve ikinci kısmı gruplandır
- 3. sendfile dosya içeriğini kopyalamıyor
- 4. Sepete Ekle Filtre vs Splice ReactJS Javascript
- 5. @ $ dizi 've diğer yapıların anlamı
- 6. JAAS'ın anlamı
- 7. Anlamı C# '
- 8. Anlamı süsleme
- 9. Anlamı "->"
- 10. MySQL'de eq_ref ve ref türlerinin anlamı nedir
- 11. Bir günlük kütüphanesinin anlamı ve amacı nedir?
- 12. Ültimain Anlamı Sert (-H) ve Yumuşak (-S)
- 13. Faktör parametresinin anlamı ve kullanımı glPolygonOffset
- 14. ^in vim in anlamı ve nasıl gösterilmeyecek?
- 15. Sözdizimi, bir dizinin bildirilmesi ve arama işlevleri için anlamı nedir?
- 16. A'dan B'ye bir dosyayı kopyalamak için sendfile kullanma - yasadışı arama?
- 17. anlamı :: açısal biçiminde
- 18. Xsd'un Anlamı: simpleContent
- 19. Gcc anlamı -02
- 20. "Kapalı kompozisyon altında" anlamı
- 21. Gem bağımlılık versiyonları anlamı
- 22. svg anlamı nedir? Svg?
- 23. /var/resource_config.json'un anlamı
- 24. CV_INSTRUMENT_REGION anlamı nedir()?
- 25. SPARQL operatörünün anlamı ';'
- 26. Ember init 'Yndh' anlamı
- 27. Maven'deki üst etiketin anlamı
- 28. os.error'un anlamı nedir?
- 29. grubunun anlamı 1,2,3,4
- 30. ApplicationIntent = ReadOnly anlamı,
2.6.33'ten beri, sendfile için out_fd herhangi bir dosya tanıtıcısı olabilir (yalnızca yuva değil). – ldrg
'dan beri 4.2 aynı "splice()" için de geçerli – technosaurus