Neden UDP netstat'taki devlet sütununda DİNLEME göstermiyor?


6

TCP şovları DİNLEME devlet sütununda UDP hiçbir şey göstermiyorsa:

enter image description here

Çünkü UDP'nin tek bir devleti var mı? DİNLEME ) yani göstermeye gerek yok mu, yoksa başka bir neden mi var?


2
UDP, vatansız bir protokoldür.
Patrick Seymour

@Patrick S Yani bir UDP soketinin dinlemesi bir devlet değil mi?
user613132

2
Çıkış yapmak: stackoverflow.com/questions/8194323/... - & gt; Alıntılanan Cevap - & gt; "TCP, sunucu ve istemciler arasında bir akış protokolüdür. Protokol güvenilirdir ve her sunucu için ayrı bir akış gerektirir.> İstemci akışı. Dinle / kabul et ile başlatılan bağlantı protokolü, bu sunucunun & lt; UDP, bağlantısız, güvenilmez bir datagram, (mesaj) protokolüdür, bu nedenle yeni bağlantıları dinlemeye gerek yoktur - datagramlar herhangi bir kaynaktan herhangi bir sırayla gelebilir. "
Pimp Juice IT

@PIMP_JUICE_IT Yani biz bir soket söylediğimizde dinler bir bağlantı noktasında bağlantı isteklerini dinliyor demektir ve bir UDP soketi bağlantı isteklerini dinlemediğinden (yalnızca bir bağlantı noktasını açar ve datagramları bekler), o zaman bir UDP soketinin bulunduğu söylenmez. DİNLEME belirtmek, bildirmek. Doğrumuyum?
user613132

Yanıtlar:


7

Yorumlarda belirtildiği gibi, UDP bağlantısız. TCP'den farklı olarak, "dinleme", "kurulmuş", "kapalı" veya benzeri bir şey kavramı yoktur. Bir UDP bağlantı noktası açıksa, listede görünür; açık değilse, yapmaz. Gösterilecek başka devlet yok. gösterme LISTENING ya da bu sütuna benzer bir şey, başka olası durumlar olduğu anlamına gelebilir ve bu yanlış olacaktır.


1

Netstat'ın durum göstermediği iddiasına rağmen, UDP Windows işletim sistemi dışındaki bilgisayarlarda netstat kullanmıyor yapar Devlet sütunu için bir değer gösterir. Örneğin, Solaris "Boşta" veya "Unbound" gösterir. "Boşta" soketleri, söyleyebileceğim kadarıyla, belirli yerel bağlantı noktalarına bağlı olanlardır, "Bağlanmamış" soketler her zaman "*. *" Ve büyük olasılıkla bir şekilde açık ancak belirli bağlantı noktalarına bağlı değildir. Linux'taki netstat en azından "KURULDU" olarak gösterebilir. Ayrıca, bir UDP limanının trafiği başlatmak için başka bir yerden bağlantılar beklediğini veya başka bir yerde bir şeyler gönderebilmesi için açık olduğunu da bilmek istiyorum.


" UDP bağlantı noktasının başka bir yerden trafik başlatmak için bağlantı beklediğini veya başka bir yerde bir şeyler gönderebilmesi için açık olduğunu hala bilmek istiyorum. “UDP bağlantısız olduğu için hiçbir şey göndermeyi veya almayı beklemiyor. Mutlu bir şekilde yapacaktır. Göndermeyi, almayı veya her ikisini de beklemekte olan UDP kullanan bir uygulamadır.
Ron Maupin

Geçici gözlemciye göre, Casual Reader’ın önerisinin imkansız olduğunu söylüyor gibi görünüyorsunuz. Aslında, sadece terminoloji üzerine titriyorsun. Sadece bir boru veya bir tty için (ilgili olarak read ), ya var ya da engellemeyi bekleyen bir işlem yok recv (veya ilgili) sistem çağrısı ve çekirdek, böyle bir işlem olup olmadığını bilir (çünkü, bir boru veya tipte olduğu gibi, girdi göründüğünde nasıl tepki vereceğini bilmek zorundadır). Bu yüzden mümkün olması gerekir netstat Bir işlemin kendisine bir UDP soketinde veri gönderilmesini bekliyor olup olmadığını belirlemek ve bildirmek için.
Scott
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.