@Peter Dediğim gibi kaplı gibi tcp
dosyayı istiyorum düşünüyorum netstat
ağ bilgilerini, özellikle liman bağlantıları toplamak için proc dosya sistemi kullanır. LuaSockets'ın bağlantı bilgilerini almak için kendi kütüphanesi vardır. Örneğin,
Eğer soket sunucu nesnesi haline nesneyi dönüştürerek, bağlantılarını almaya istekli olduğunu belirten master:listen(backlog)
kullanabilirsiniz dinleme. Sunucu nesneleri kabul, getsockname, setoption, settimeout ve yakın yöntemleri destekler. Parametre bekleme listesi, hizmet için bekleyen sıraya alınabilecek istemci bağlantılarının sayısını belirtir. Sıra dolu ve başka bir istemci bağlantı girişiminde bulunursa, bağlantı reddedilir. Başarı durumunda, yöntem 1 değerini döndürür. Hata durumunda, yöntem sıfırlanır ve ardından bir hata iletisi gelir.
Aşağıdaki yöntemler, yerel IP adresi ve bağlantı noktası numaralı bir numara ile bir dize döndürecektir. Hata durumunda, yöntem nil döndürür. client:getpeername()
eş IP adresi ile bir dize döndürür, bağlantı için kullandığı eş liman sayısına göre ardından:
master:getsockname()
client:getsockname()
server:getsockname()
da bu yöntemi söz konusudur. Hata durumunda, yöntem nil döndürür.
"CLOSE_WAIT", "ESTABLISHED" veya almak istediğiniz diğer bağlantı bilgileri için lütfen Official Documentation'u okuyun. Yöntemlerin kısa açıklamalarıyla ihtiyacınız olan her şeye sahiptir.
Neden? Elbette zaten kendi soketlerin durumunu biliyorsunuz? Dinle() 'yi çağırdıysanız, DİNLEME; Eğer connect() 'veya' accept() 'ismini verdiyseniz, ESTABLISHED; akış alınıp bitmişse, CLOSE_WAIT içinde. – EJP
@EJP Soru, soketin, sorguyu oluşturan aynı işlem tarafından sahiplendiğini belirtmiyor. O zaman bile, bazı eyaletleri kolayca çıkaramazsınız - ör. TIME_WAIT - çekirdeği sorgulamadan. –