Đối với ứng dụng Android của tôi, người dùng cần kết nối với máy chủ sẽ được lưu trữ ở đâu đó trên cùng một mạng LAN. Có thể có nhiều máy chủ được lưu trữ trên cùng một mạng LAN. Để giúp người dùng dễ dàng, tôi sẽ quét mạng LAN hiện tại mà thiết bị Android được kết nối và sau đó liệt kê tất cả các thiết bị mạng có máy chủ đang chạy trên đó, thay vì để người dùng nhập IP vào máy tính bằng tay.Khám phá thiết bị mạng
Tôi khá mới đối với mạng và sau một số tìm kiếm, tôi phát hiện ra rằng tôi sẽ phải sử dụng tìm kiếm DNS nhiều diễn viên hoặc phát UDP để phát hiện các thiết bị khác. Tôi cũng tìm thấy một thư viện tốt được gọi là jmDNS, mặc dù tôi đã tìm thấy rất ít tài liệu và mã mẫu trên đó. Ai đó có thể chỉ cho tôi đúng hướng cho những gì tôi đang cố gắng làm để tiết kiệm thời gian lãng phí cho tôi (chủ yếu là nếu tôi đi đúng hướng)? Tôi giả định rằng tôi sẽ phải sửa đổi máy chủ của tôi một chút để phát sóng nó ở đó? Nó hoạt động hoàn toàn như dự định nếu tôi nhập IP theo cách thủ công vào trang cấu hình trên ứng dụng của tôi. Ngoài ra, điều này chỉ cần khám phá các máy tính Windows, không chắc liệu điều đó có quan trọng không. Cảm ơn trước.
Yup, mDNS có lẽ là cách tốt nhất để đến đây. Bạn sẽ cần phải cài đặt dịch vụ Bonjour trên máy tính Windows, vì nó không được hỗ trợ nguyên bản ở đó. – Piskvor
Bằng cách cài đặt, bạn có nghĩa là một trình cài đặt thực tế (có thể là một vấn đề) hoặc chỉ cần thêm mã vào máy chủ của tôi để làm cho nó hỗ trợ Bonjour? –
Tôi nghĩ * bạn có thể đi "thêm vào máy chủ của bạn" tuyến đường, nhưng nó sẽ làm việc nhiều hơn cho bạn; cho đến nay, tôi đã sử dụng trình cài đặt này từ Apple thay vào đó: http://en.wikipedia.org/wiki/Bonjour_(software)#Microsoft_Windows_implementation (Mac OS và Linux có hỗ trợ gốc; Tôi tin rằng dịch vụ này có thể là một phần của iTunes cài đặt, vì vậy máy tính có thể đã có điều này) – Piskvor