2011-07-22 39 views
7

Đố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.

+0

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

+0

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? –

+0

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

Trả lời

7

Vâng, jmDNS là một thư viện Java hoàn chỉnh mà bạn có thể sử dụng cho thiết lập của mình. Nó có thể được sử dụng để braodcast dịch vụ của bạn mà khách hàng khác có thể tìm kiếm.

Dịch vụ Bounjour trên cửa sổ hơi phức tạp, mặc dù nó chắc chắn có thể. Cách dễ dàng hơn, tôi sẽ nói là sử dụng jmDNS để phát sóng và khám phá cho cả máy chủ và máy khách của bạn.

+0

Tôi nghĩ rằng đây là cách mà tôi sẽ tiếp cận nó, cảm ơn. –

0

Bạn sẽ chạy các bản ghi dịch vụ hoặc dịch vụ khác trên mạng cục bộ của mình dưới dạng dịch vụ nền hoặc dameon.

Các vấn đề liên quan