Java’da Socket Programming

sametklou

Java’da Socket Programming

Socket Programming, bilgisayar ağları üzerinden iletişim kurmak için kullanılan bir programlama tekniğidir. Java, bu amaçla kullanılabilecek güçlü bir dil olarak karşımıza çıkar. Bu makalede, Java'da Socket Programming hakkında temel bilgileri ve kod örneklerini bulacaksınız.

Socket Nedir?

Socket, bir ağ üzerindeki iki cihaz arasında bağlantı kurmak için kullanılan bir iletişim aracıdır. Birbirleriyle bağlantı kurmak isteyen cihazlar, belirli bir IP adresi ve port numarası üzerinden iletişim sağlarlar. Socket programlama ise bu bağlantıyı kurma ve veri alışverişi yapma işlemlerini kapsar.

Java'da Socket Kullanımı

Java'da Socket kullanarak ağ üzerinde iletişim kurmak oldukça kolaydır. İlk olarak, bir ServerSocket ve bir Socket nesnesi oluşturarak bağlantıyı kurabiliriz. İşte bir örnek kod parçası:

// Server tarafı
ServerSocket serverSocket = new ServerSocket(5000);
Socket socket = serverSocket.accept();

// Client tarafı
Socket socket = new Socket("localhost", 5000);

Yukarıdaki kod parçalarında, ServerSocket ile belirli bir portu dinlemeye başlıyoruz ve accept() metodu ile gelen bağlantıları kabul ederek bir Socket nesnesi oluşturuyoruz. Client tarafında ise Socket ile belirli bir IP adresi ve port numarasına bağlanıyoruz.

Veri İletişimi

Bağlantı kurulduktan sonra, veri iletişimi gerçekleştirmek için PrintWriter ve BufferedReader gibi sınıfları kullanabiliriz. İşte bir örnek kod parçası:

// Server tarafı
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("Hello, client!");

// Client tarafı
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = in.readLine();
System.out.println("Server: " + message);

Yukarıdaki kod parçasında, Server tarafında PrintWriter ile mesaj gönderiyoruz ve Client tarafında BufferedReader ile mesajı okuyarak ekrana yazdırıyoruz.

Sonuç

Java'da Socket Programming oldukça güçlü ve esnek bir iletişim yöntemidir. Bu makalede, temel kullanımı ve örnek kodları inceleyerek bu konuda daha fazla bilgi sahibi olabilirsiniz. Daha fazla detaylı bilgiye ve farklı kullanım senaryolarına Java dökümantasyonundan ve ilgili kaynaklardan ulaşabilirsiniz.