projemden kod yollayayım dedim ama diğer bilgisayardaymış..
mantık şu, bu verinin geleceği zamanı bilmediğin için sürekli olarak dinlemen gerek, bunun için bir döngüyü sonsuz çalıştırman lazım, ancak ui threadinde çalıştırırsan yazılım kilitlenir ve başka işlem yaptıramazsın, o yüzden harici bir thread üzerinden bu işi yaptıracaksın, veri geldiğinde kesme meydana gelecek onu işledikten sonra yine dinlemeye devam edecek ve öbür thread de kendi işine bakacak.
örnek bakayım şimdi
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:31:57 -->-> Daha önceki mesaj 16:24:01 --
buldum yaptığım kodları.. gerçi android için yapmıştım ama javada da sıkıntı olmaması lazım.. (activityler falan olmayacak sadece class içindeki kodları al) kendine göre düzenlersin.. benim bitirme çalışmamın projesiydi bu

) imzamdaki konuda görebilirsin uzaktan kontrol sistemini..
kolay gelsin
public class ServerActivity extends Activity {
private TextView serverStatus;
// default ip
public static String SERVERIP = "10.0.2.15";
// designate a port
public static final int SERVERPORT = 12345;
private Handler handler = new Handler();
private ServerSocket serverSocket;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.server);
serverStatus = (TextView) findViewById(R.id.server_status);
SERVERIP = getLocalIpAddress();
Thread fst = new Thread(new ServerThread());
fst.start();
}
public class ServerThread implements Runnable {
String line = "";
public void run() {
try {
if (SERVERIP != null) {
handler.post(new Runnable() {
@Override
public void run() {
serverStatus.setText("Listening on IP: " + SERVERIP);
}
});
serverSocket = new ServerSocket(SERVERPORT);
while (true) {
// listen for incoming clients
Socket client = serverSocket.accept();
handler.post(new Runnable() {
@Override
public void run() {
serverStatus.setText("Connected.");
}
});
try {
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
// byte[] resultBuff = new byte[0];
// byte[] buff = new byte[1024];
// int k = -1;
// while((k = client.getInputStream().read(buff, 0, buff.length)) > -1) {
// byte[] tbuff = new byte[resultBuff.length + k]; // temp buffer size = bytes already read + bytes last read
// System.arraycopy(resultBuff, 0, tbuff, 0, resultBuff.length); // copy previous bytes
//System.arraycopy(buff, 0, tbuff, resultBuff.length, k); // copy current lot
//resultBuff = tbuff; // call the temp buffer as your result buff
//}
//System.out.println(resultBuff.length + " bytes read.");
while ((line = in.readLine()) != null) {
Log.d("ServerActivity", line);
handler.post(new Runnable() {
@Override
public void run() {
serverStatus.setText(line);
}
});
}
break;
} catch (Exception e) {
handler.post(new Runnable() {
@Override
public void run() {
serverStatus.setText("Oops. Connection interrupted. Please reconnect your phones.");
}
});
e.printStackTrace();
}
}
} else {
handler.post(new Runnable() {
@Override
public void run() {
serverStatus.setText("Couldn't detect internet connection.");
}
});
}
} catch (Exception e) {
handler.post(new Runnable() {
@Override
public void run() {
serverStatus.setText("Error");
}
});
e.printStackTrace();
}
}
}