2015-07-14 16 views
6

Android'de tüm gelen veri trafiğini WiFi üzerinden ve tüm giden trafiği Mobil ağ üzerinden yönlendirmek mümkün mü?Android rota downlink verilerini mobil ağ üzerinden WiFi ve uplink verileri aracılığıyla

Yığınlama akışında How Wifi and Mobile Data both work simultaneously in android for OBD2 device bir yanıt bulundu. Ancak verileri yalnızca bir ana bilgisayar için yönlendiriyor.

Ayrıca, daha hızlı indirme hızları elde etmek için wifi ve mobil ağ kullanan bir uygulama SuperDownload da var. Böyle bir şey yapmaya çalışıyorum.

Android'de WiFi ve mobil ağ aynı anda çalışmaz. Cihazı köklendirerek çalışmasını sağlamak mümkün mü? (SuperDownload kök gerektirir).

+0

Yalnızca wifi üzerinden gelip mobil veri üzerinden veri göndermek için veri aldı neden olacak bir uygulama oluşturmak isteyen mi? –

+0

Ne soruyorsun genel olarak mümkün değildir. nedeni uzak ucunda bağlanıyorsanız sunucu sadece cevap vermek giden paketlerin kaynak IP adresine sahip olmasıdır. Ve bu cep (uplink) arabirimine geri götürecektir. Eğer WiFi arayüzü kaynak IP paketleri göndermek zorunda kalacak ve siz bunu yapamaz. – TvE

cevap

1

Yapacağınız şey kolay değil.

İlk önce her iki ağ arabiriminde de devam etmelisiniz, ancak bu bir hack'tir, çünkü Android bunu desteklemiyor. Bunu yapmak için

connectivityManager.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE, "feature"); 

özellik adı donanımınız ile ilgilidir açmak gerekir, bu enableHIPRI olmalıdır. Sorun, arabirimi açtıktan sonra bir süre sonra kapanacak olmasıdır, bu nedenle, bunu korumak için her 20-30 saniyede bir http isteği gerçekleştirmeniz gerekir. Bu şekilde arayüz devam edecektir. yönlendirmek için

, statik rotayı ipAddressInt Eğer 3G'de bağlanmak istediğiniz adresidir

connectivityManager.requestRouteToHost(ConnectivityManager.TYPE_MOBILE_HIPRI, ipAddressInt); 

eklemek gerekir. Normalde rotalar WiFi boyunca gönderilir, bu nedenle GET'iniz (WiFi üzerinden indir) için sorun yoktur, ancak yükleme için bir rota eklemelisiniz.

Ve şimdi 2 sorunlar var,

  • ilk

    DNS çözümlemesi gitti 3G bu şekilde, size IP üzerinde çalışabilir ancak statik IP ile bir sunucu olması gerekir yani
  • ikinci Belirli bir bağlantı noktasında çalışıp çalışmadığından emin değilim (bunu yapmak için şu anda sahip olduğum tek şey budur ...).Eğer arayüz canlı tutmak başka konu uygulamalıdır Tabii

.

1

Sanırım hiç de imkansız. Hedefin, teslim etmek için cevapları nasıl bulacağını düşünün? Ağdan bir şey (örneğin bir web sayfası) almaya çalışırken, IP adresinizi ve hedef IP adresinizi bir pakete koymalı ve ağa göndermelisiniz (wifi veya 3g) ve şebeke onu hedefinize yönlendirecek. Yanıtınız hazır olduğunda, hedef işlemi tersine çevirir ve IP adresinizi hedef adres olarak ve IP adresini kaynak olarak alır ve ağa aktarır. Yine, bu bilgileri kullanarak ağınız sizi bulacaktır ve size paket teslim edecektir. Yani, bir ağa (örn. Wifi) hiçbir zaman bilgi gönderemez ve başka bir ağdan cevabı alabilirsiniz (ör. 3g).

Not: Tüm orta yol yönlendiricileri hedefiniz hakkında bilgi sahibi olduysa (iki farklı ağa gönderme ve alma), bunu yapmak mümkün olacaktır. Şu anda, özellikle hükümet tarafından kullanılan kenar yönlendiricilerindeki bazı yönlendirme protokollerinde, hedefiniz gibi bir şey, sınırlı bir iletim ortamı hızını aşmak için çalışmaktadır. Fiber optik (10/100 gbps'den daha fazla).

İlgili konular