Theo điều này link, NetBIOS không còn được hỗ trợ bắt đầu từ Windwos Vista nữa. Chắc chắn, tôi không còn có thể thấy bất kỳ tên NetBIOS nào từ các thuộc tính mạng.Giải quyết tên NetBIOS trên Windows 7
Tuy nhiên, khi tôi đang viết mã trên Windows 7 của mình, tôi vẫn gặp phải tên NetBIOS ở nhiều nơi. Ví dụ:
- Tôi vẫn có thể sử dụng "MYDOMAIN \ Harvey" để đăng nhập máy của mình, nơi tôi tin MYDOMAIN là tên NetBIOS.
- Các biến môi trường COMPUTERNAME và USERDOMAIN vẫn là các tên NetBIOS. Tôi hy vọng sẽ thấy một tên DNS ở đây
- Các tên phiên bản SQL Server của tôi sắp xuất hiện từ SQL Server Management Studio của tôi vẫn giống như MYMACHINE \ Instance1.
Tôi đoán Microsoft vẫn duy trì một số phần của nó để tương thích ngược. Tôi muốn hiểu cách Windows 7 sẽ giải quyết tên NetBIOS thành một địa chỉ IP. Tôi tìm thấy bài viết này giải thích cách hoạt động của NetBIOS name resolution nhưng tôi sợ điều này không còn đúng trong Windows 7. Ít nhất không có máy chủ WINS cho tôi.
Câu hỏi cuối cùng của tôi là làm cách nào để thực hiện độ phân giải tên NetBIOS theo chương trình, tốt nhất là trong C#. Tôi không sao sử dụng PInvoke.
UDAPTE
Tridus đã đúng. Tôi có thể sử dụng System.Net.Dns.GetHostAddresses ("tên máy chủ") để phân giải tên NetBIOS. Tôi sử dụng phản xạ để xem những gì đang xảy ra dưới mui xe. Nó đang gọi gethostbyname() from ws2_32.dll
Here, nó giải thích gethostbyname() sẽ làm giải pháp tên NetBIOS.
- Kiểm tra tên máy chủ lưu trữ cục bộ cho tên trùng khớp.
- Kiểm tra tệp Máy chủ lưu trữ cho mục nhập tên phù hợp.
- Nếu máy chủ DNS được định cấu hình, hãy truy vấn nó.
- Nếu không tìm thấy kết quả phù hợp, hãy thử độ phân giải tên NetBIOS.
Về những bí ẩn của NetBIOS không được hỗ trợ trong link này, tôi nghĩ nó chỉ có nghĩa API không được hỗ trợ. People in ServerFault nghĩ rằng NetBIOS vẫn được hỗ trợ trong Windows 7.
Tôi nghi ngờ bạn có thể nhận được nhiều lực kéo hơn nếu điều này xảy ra trên ServerFault. – bryanbcook
@bryanbcook Ghi nhớ dòng cuối cùng, tôi nghi ngờ rằng có thể không phải là trường hợp. :-) –
@Harvey Kwok - Vì vậy, mục tiêu của bạn là xác định địa chỉ IP của máy tính trên mạng cục bộ dựa trên tên máy tính của nó? – Justin