client.java
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;
public class Client {
public static void main(String [] args) throws IOException{
int number,temp;
Scanner sc1=new Scanner(System.in);
Socket s=new Socket("127.0.0.1",496);
Scanner sc2=new Scanner(s.getInputStream());
System.out.println("Faktöriyeli alınacak sayi : ");
number=sc1.nextInt();
PrintStream ps=new PrintStream(s.getOutputStream());
ps.println(number);
temp=sc2.nextInt();
System.out.println(number+"! ="+temp);
}
}
Soket sınıfından nesnemizi türettik.Bu sınıfımızın yapılandırıcısına 2 parametre girdik.İlki cihazımın ip adresi(şimdilik localhost).İkincisi de iletişimin hangi port üzerinden olacağı.sc1 istemciden alınacak sayi.sc2 ise sunucuya konsol'a yazılacak değeri okuyup sunucu ile iletişime geçecek.InputStream ve OutputStream hem istemci hemde sunucuda yazılmalı.Çünkü haberleşme iki taraflı oluyor.İstemci bir istekte bulunuyor,sunucu gelen isteğe cevap veriyor.İstemci de gelen cevabı alıyor.
Şimdi de sunucu tarafını kodlayalım..
server.java
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server {
public static int factorial(int num){
if (num == 1)
return 1;
return num*factorial(num-1);
}
public static void main (String [] args) throws IOException{
int number,temp;
ServerSocket s1=new ServerSocket(496);
Socket ss=s1.accept();
Scanner sc=new Scanner(ss.getInputStream());
number=sc.nextInt();
temp=factorial(number);
PrintStream p=new PrintStream(ss.getOutputStream());
p.println(temp);
}
}
accept() fonksiyonu ile server 496 nolu soketi dinlemeye alıyor.Sonra getInputStream ile değeri okuyor. number=sc.nextInt(); gelen değerin integer tipinde olduğunu söylüyor.Daha sonra yazdığımız recursive fonksiyona parametre olarak yolluyoruz.Bize dönen değeri temp değişkenine atıp bu değeri istemciye yolluyoruz.Benzer şekilde swing,awt kütüphanelerini kullanarak basit chat,karşılıklı online oyunlar programlayabilirsiniz...
İYİ ÇALIŞMALAR
Hiç yorum yok:
Yorum Gönder