تشخیص قطع بودن کابل شبکه در سی شارپ Detect network cable unplugged in cshrp
با سلام خدمت دوستان محترم
من رو برنامه تحت شبکه دارم کار می کنم که از TCP و از حالت آسنکرون استفاده می کنم (از Begin connect و .... )
می خوام داخل برنامه تشخیص بدم که الان کابل شبکه قطع شده است از کجا باید این رو متوجه بشم چون وقتی که کابل شبکه رو قطع می کنم هنوز استاتوس تی سی پی مقدار True بر می گردونه .
از دوستان خواهشمندم که کمک کنن
نقل قول: تشخیص قطع بودن کابل شبکه در سی شارپ Detect network cable unplugged in cshrp
using System.Runtime.InteropServices;
class Program
{
[DllImport("sensapi.dll")]
static extern bool IsNetworkAlive(out int flags);
static void Main(string[] args)
{
int flags;
bool connected = IsNetworkAlive(out flags);
}
}
البته اين روش كار شما رو كامل راه نميندازه ولي ميتونين يه تايمر بزارين و مرتب چك كنين. فكر ميكنم يه كلاسي بود كه event اي داشت كه هر وقت شبكه قطع مي شد فاير ميشد. اين كلاس بهتره براي كار شما ولي اسمش دقيق يادم نيست. تو مايه هاي NetworkChange بايد باشه
نقل قول: تشخیص قطع بودن کابل شبکه در سی شارپ Detect network cable unplugged in cshrp
using System.Net.NetworkInformation;
using System.Windows.Forms;
namespace WindowsFormsApplication24
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
NetworkChange.NetworkAvailabilityChanged += AvailabilityChanged;
}
private void AvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
{
if (e.IsAvailable)
MessageBox.Show("Network connected!");
else
MessageBox.Show("Network disconnected!");
}
}
}