IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

1Beğeni(ler)
  • 1 Post By YazılımMimarı

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 12 Kasım 2012, 11:02   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Java ile Network programlama üzerine




Merhaba bu yazım İF'e özel olsun.

Tabanı sohbet ve türevleri üzerine olduğu için sohbet tabanındaki teknoloji üzerine bir kaç satır kod karalayayım.

Temelinde bir sunucu ve buna bağlı istemcilerin oluşturduğu bir yapı üzerine inşa edilmiştir.

Web tarafında Java'nın hakim olduğu bir yapıdır da sebebi javanın güçlü bir dil olması tabiki en önemli özelliği platform bağımsız çalışmasıdır.

Bu kadar ön bilgiden sonra ; Java'nın Network haberleşmede kullandığı bir kütüphane olan java.net.socket ile basit bir Server tanımı yapalım.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Socket socket = new Socket("IP""PORT"); 

örnek ;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Socket socket = new Socket("188.234.123.22"80); 

Bu socket yapısı ile 188.234.123.22 ip nolu sunucu üzerindeki 80 portuna bağlanırız tabiki port açık ise. Açık olduğunu düşünüp devam ediyorum.

OutputStream sınıfı ile Socket sınıfı ile bağlandığım sunucu üzerinden açık porttan data gönderebilirim. Nasıl ?

Data gönderimi için basit bir kod parçası ;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Socket socket = new Socket("188.234.123.22"80);
OutputStream out socket.getOutputStream();

out.write("Merhaba ...".getBytes());
out.flush();
out.close();

socket.close(); 

InputStream sınıfı ile Socket sınıfı ile bağlandığım sunucu üzerinden açık porttan data okuyabilirim. Nasıl ?

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Socket socket = new Socket("188.234.123.22"80);
InputStream in socket.getInputStream();

if( 
in.read() >=)
int data in.read();
else if( 
in.read() == -)
System.out.println("Sunucu kapalı!");
in.close();
socket.close(); 

in.read() metodu -1 döndüğünde sunucunun kapalı olduğunu belirtir.

socket.close() metodu socket bağlantımızı kapatır.

Kodlar oldukça basit olduğu için anlaşılması kolay fakat, hataya açıktır. örneğin, try catch bloğu şarttır herhangi bir beklenmedik durum ile karşılaşıldığında bir istisna fırlatacak yapı ve bu istisnayı geri bildirim olarak alacağımız yapı bulunmamaktadır.

Daha sonra bunun üzerine bir kaç şey karalarım zaman bulursam.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Ek olarak şunu belirteyim. Java AWT ve Swing teknolojilerine artık yatırım yapmyıor. Eğer bu teknolojileri kullanıyorsanız yavaş yavaş yeni teknolojisi olan [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
teknolojisine geçmenizi tavsiye ederim. applet'ten kurtulmak hem güvenlik açıklarından hemde yavaşlık ve web taraflı haberleşmesindeki sıkıntılardna kurtulmak demektir. yeni Web Tabanlı Chat programları FX teknolojisini barındırmak zorunda kalacaktır.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
ile, java, network, programlama, üzerine


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Cağın Modern Programlama Dili - Java toXic Java 1 19 Aralık 2011 12:06
JRE (Java Runtime Engine - Java Çalışma Zamanı Motoru) toXic Java 2 18 Aralık 2011 13:40
Sorun söyleyeyim (Java,JSP,ASP.NET(C#),PL/SQL,jQuery,Java Script,Ajax) J2EE123 Java 2 03 Kasım 2011 12:57
JRE (Java Runtime Engine - Java Çalışma Zamanı Motoru) Stealth Java 1 29 Eylül 2010 22:19