2013-01-31 42 views
6

lời xin lỗi của tôi nếu đây là một câu hỏi tầm thường.Phát một tin nhắn tới tất cả các máy có sẵn trên WiFi

Gần đây tôi đã bắt đầu thực hiện một số chương trình Android và tôi đang viết một ứng dụng đơn giản cho phép bạn sử dụng thiết bị Android làm bộ điều khiển cho PC cửa sổ của mình. Cụ thể nó cho phép người dùng làm những việc như tắt máy, làm cho nó ngủ, khởi động lại nó vv vv. Tôi hiện đang sử dụng thư viện python có tên là CherryPy như một máy chủ trên máy tính Windows để thực thi các cuộc gọi win32api thực sự mong muốn chức năng. Những gì tôi không chắc chắn về là làm thế nào để khám phá (động) mà máy trên mạng là thực sự lưu trữ các máy chủ. Tất cả mọi thứ đang làm việc tốt nếu tôi hardcode IP máy công cộng của tôi vào ứng dụng Android, nhưng rõ ràng đó là ít hơn lý tưởng. Tôi đã xem xét việc đưa người dùng vào máy IP công khai của họ theo cách thủ công trong ứng dụng, nhưng nếu có cách nào để phát sóng tin nhắn nhanh đến tất cả các máy trên Wi-Fi và kiểm tra phản hồi trước khi đóng hộp mà máy chủ Python của tôi sẽ gửi ra, điều đó thật tuyệt vời. Điều đó có thể không?

Cảm ơn bạn trước.

Trả lời

1

Viết ứng dụng của bạn bằng cách sử dụng khung . AllJoyn sẽ xử lý các chi tiết này cho bạn.

2

Thử gửi gói UDP tới địa chỉ phát sóng đặc biệt 255.255.255.255. Mọi thiết bị trong mạng sẽ nhận được một bản sao của gói đó (chặn các bức tường lửa) và bạn có thể sắp xếp để máy chủ trả lời gói tin với danh tính của nó.

+0

Vì vậy, lý tưởng nhất tôi muốn làm điều này ở cấp độ cao hơn - Tôi đã sử dụng các phương thức HTTP thay vì các công cụ cấp gói. Điều này có thể có thể ở đó trừu tượng cao hơn? –

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