2013-08-25 51 views
9

Tôi chủ yếu quan tâm đến câu trả lời chung cho thiết bị di động, nhưng có thể chấp nhận một số thứ android cụ thể.Giao tiếp trực tiếp giữa hai thiết bị di động

Cho 2 thiết bị di động, làm cách nào để có kết nối giữa chúng. Tôi mới phát triển trên thiết bị di động và tôi không chắc loại thiết bị di động NAT nào ở đằng sau. Có thể thực hiện một số loại "đục lỗ" (sử dụng máy chủ bên ngoài để hỗ trợ kết nối) để kết nối chúng với nhau không?

Tôi đã xem xét câu hỏi này, nhưng nó không giúp tôi quá nhiều, tôi vẫn không biết cách nhận IP và/hoặc đi qua NAT. Android - communicating between two devices

Trả lời

4

Nếu bạn muốn sử dụng mô-đun không dây chung, như GSM, UMTS, LTE, bạn cần cung cấp phần cứng độc lập với việc thực hiện các giao thức mong muốn. Đối với GSM, bạn có thể xem xét OpenBTS http://openbts.org/ là phần mềm miễn phí.

Là các khả năng giao tiếp khác, bạn có thể sử dụng Wi-Fi Peer-to-Peer http://developer.android.com/guide/topics/connectivity/wifip2p.html để thiết lập kết nối wifi.

Khả năng giao tiếp dựa trên thông số kỹ thuật của chip, không phải tất cả hỗ trợ wi-fi đều là loại kết nối này. Mặt khác, bạn cũng có thể thiết lập kết nối Bluetooth.

1

Tôi sẽ yêu cầu cả hai người trong số họ kết nối với máy chủ trên Internet - có thể là máy chủ web - có thể bạn bắt đầu với một phiên bản EC2 của Amazon. Điện thoại gửi tin nhắn đến máy chủ bằng cách sử dụng một yêu cầu HTTP và máy chủ gửi tin nhắn đến điện thoại khác bằng cách sử dụng HTTP Push của một số mô tả. Skype và ilk đã sử dụng một kỹ thuật gọi là UDP hole punching để giao tiếp ngang hàng (mặc dù qua trung gian qua máy chủ trung tâm) mặc dù tôi tin rằng họ phải dừng lại do yêu cầu pháp lý (ho NSA).