2012-02-09 8 views
5

Eclipse'li droid emülatörlerini kullanarak temel bir ağ bağlantısı kurmaya çalışıyorum ama sorun yaşıyorum. Sunucu "Socket s = ss.accept();" satırına ulaşır. ve istemcinin bağlanmasını bekler, ancak istemci bağlanamayabilir.SunucuAkım emülatörünü kabul etmiyor

Artık, istemcimi, oluşturduğum ve droid için yaptığım sunucuyla aynı şeyi yapan bir python sunucusuna bağlanabiliyorum. AndroidManifest'te hem İstemci hem de sunucu üzerinde İnternet Kullanımlarına izin verdim, bu yüzden bu sunucunun neden droid öykünücemde çalışmadığı konusunda bir kayıp yapıyorum.

Sever:

 ServerSocket ss = new ServerSocket(8888); 
      while(!end){ 
        Socket s = ss.accept(); 
        Log.v("Server","Connection found"); 
        BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream())); 
        PrintWriter output = new PrintWriter(s.getOutputStream(),true); 
        String st = input.readLine(); 

Müşteri: Herhangi bir yardım büyük takdir

 Socket s = new Socket(MYIPADDR,8888); 

     BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream())); 

.

cevap

1

muhtemelen gelecekteki sorunları çalıştırmak için gidiyoruz çünkü sadece Luka'nın cevabı ekleyerek: Eğer yuvaları kullanıyorsanız

, gerçekten bir için gerekli onca bakımına yardımcı olmak için bir kütüphane kullanmak isteyebilirsiniz kararlı bağlantı.

İyi kütüphane olurdu bağlantı işlemek için kullanmak: https://github.com/koush/android-websockets

Hayatta bağlantı tutmak ve gönderme ihtiyaçlarına uygun etrafında değiştirmek oldukça basittir edeceğiz. Eksik olan tek şey gelen verilerle başa çıkmak için bir geri çağırma özelliğidir, ancak tüm bağlantı ile başa çıkmak için sıfırdan bir şey kurmaktan çok daha kolay uygulanabilir.