Android Tcp Socket
-
Merhaba arkadaşlar, android ile basit bir standart tcp socket client veri alma gönderme uygulaması yapmaya çalışıyorum iki gündür, takıldığım yer veri alma konusu, ya hiç logcat'e bişey yazmıyor yada yarım saat sonra yazıyor sorun nerdedir bilen müritler bakabilirlermi kodlara
//bu kısım butonun onclick eventı
ClientThread cthread = new ClientThread();
new Thread(cthread).start();
class ClientThread implements Runnable {
@Override
public void run() {
try{
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
Log.d("Tcp Example", "Bağlandı");
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));String st = input.readLine();
Log.d("Tcp Example", "From Server: "+st);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1){
e1.printStackTrace();
}
}
}
readline çalışmıyor bazen hiç logcat'e yazmıyor bazense yarım saat sonra yazıyor. readline harici örnek olarak 2048byte uzunluğunda while ile okuma yapıp eğer gelen bişey varsa başka buffera atıp öyle okuma yapabilmemiz için ne gerekiyor ?
-
Adım adım anlatım: http://examples.javacodegeeks.com/android/core/socket-core/android-socket-example/
Adım adım anlatım #2: http://www.edumobile.org/android/android-development/socket-programming/
Çözemezsen örnek uygulama atayım.
İstemci;
Sunucu;
-
eyv. kontrol ediyorum
-
kurduğun mantık yanlış hocam..
öncelikle sonsuz bir döngün olacak, sürekli bağlantı dinleyeceğin, bağlantı isteği geldiği zaman kabul edip onun verilerini bekleyeceksin, bunu da bir listener ile yapabilirsin. senin yaptığın kodda senkronizasyonu tutturmak sıkıntılı ki senin de yaşadığın sorun bu.
bu konuda yazılımş örnekleri incelemende fayda var. arkadaş link vermiş, bakmadım nedir ne değildir ama incelersen mantığı kavramanda yardımcı olacaktır
-
unbalanced bunu yazdı
kurduğun mantık yanlış hocam..
öncelikle sonsuz bir döngün olacak, sürekli bağlantı dinleyeceğin, bağlantı isteği geldiği zaman kabul edip onun verilerini bekleyeceksin, bunu da bir listener ile yapabilirsin. senin yaptığın kodda senkronizasyonu tutturmak sıkıntılı ki senin de yaşadığın sorun bu.
bu konuda yazılımş örnekleri incelemende fayda var. arkadaş link vermiş, bakmadım nedir ne değildir ama incelersen mantığı kavramanda yardımcı olacaktır
client yapıyorum hocam server değil. bağlantıları bu program gelen bağlantı isteklerini dinlemiyor, sadece sunucuya bağlanıp gelen verileri bekliyor
detCode tarafından 17/Mar/14 19:21 tarihinde düzenlenmiştir