Mình đã tìm hiểu được 1 chút về vấn đề này , post lên đây để cùng tham khảo với mọi người :
- Mình tạo một button để scan danh sách máy, và một listbox để hiển thị IP các máy
- Ý tưởng của công việc này là tạo một object kiểu Ping, sau đó dùng method Send để gửi Internet Control Message Protocol (ICMP) echo message đến một host chỉ định nào đó(địa chỉ IP của máy trong LAN), rồi kiểm tra trạng thái của reply message để nhận biết máy này có đang nối kết với LAN hay không:
Vấn đề ở chỗ mình mới quét có 5 cái máy đầu tiên mà đã thấy chậm lắm rồi. Thê này thì khi quét đủ 254 địa chỉ IP thì sao? Chắc die luôn quá. Các bạn có giải pháp nào cho vấn đề này không vậy?Ping pingsender = new Ping();
PingReply reply;
String comp;
int i;
for (i = 1; i < 5; i++)
{
comp = "192.168.0." + Convert.ToString(i);
reply = pingsender.Send(comp);
if (reply.Status == IPStatus.Success)
{
listCom.Items.Add(comp);
}
}