|Refleks|-Oyun,Tasarım,Film,Program,Tek link,İndir
Would you like to react to this message? Create an account in a few clicks or log in to continue.

|Refleks|-Oyun,Tasarım,Film,Program,Tek link,İndir


 
AnasayfaLatest imagesAramaKayıt OlGiriş yap

 

 Java Ile Soket Programlamaya Giriş

Aşağa gitmek 
YazarMesaj
FaTaL
Yönetici
Yönetici
FaTaL


Ruh Hali : Java Ile Soket Programlamaya Giriş Manyak10
Başak Mesaj Sayısı : 626
Rep Puanı : 12348
Teşekkür Aldı : 18
Kayıt tarihi : 24/10/09
Nerden Nerden : Kocaeli
İş/Hobiler İş/Hobiler : 3D / Maya / After Efect
Lakap Lakap : Fatal

Java Ile Soket Programlamaya Giriş Empty
MesajKonu: Java Ile Soket Programlamaya Giriş   Java Ile Soket Programlamaya Giriş EmptyCuma Ekim 30, 2009 9:48 am

Bu sayfayı açıp okuduğunuza göre, web kelimesini kullandığımda Google’ı açıp web entry sini aratmayacağınızdan şüphem yokJava Ile Soket Programlamaya Giriş 7)
Hepimiz az çok web konusunda bilgi sahibiyiz. İnternet bağlantısı için
tarayıcı ip gibi aracılar kullanırız. Karşımıza çıkan sayfadan
isteklerimiz doğrultusunda button(tuş) ya da arama çubuklarıyla başka
sayfalara yöneliriz. Birçok bilgisayarın sahip olduğu bilgiye Explorer,
Firefox, Opera gibi tarayıcı (browser) denilen pencerelerden webe
rahatlıkla ulaşabiliriz. Ulaştığımız bu bilgiler bilgisayarımızın bir
köşesinde bizim onları keşfetmemizi mi bekliyordu? Tabi ki hayır
cevabını alacağımı biliyorum. Peki bu bilgilere tam olarak nasıl
ulaştığımızı sorsam? Vereceğiniz cevapta soket kelimesi geçecek mi?

Bu yazımda Java’da soket sınıfının kullanımından bahsetmeye
çalışacağım. Soketler sizin internet bağlantınızın ve diğer
bağlantıların arasında duran soyut birimlerdir. Nerelerde kullanılır?
İnternette, webde diyeceksiniz. Bu iki kelimenin birbirinden farkı
nedir? Internet bilgisayarlar, intranetler arası bağlantıyı sağlarken;
web İnternet üzerinde çalışır ve "www" ile başlayan adreslerdeki
sayfaların görüntülenmesini sağlar. Peki bağlantı nasıl sağlanır?
İstemci sunucudan veri isteminde bulunur, sunucu da bu istemi
değerlendirir, bir port aracılığıyla yanıt verir.

Soru sordukça terim sayısı artmakta farkındayımJava Ile Soket Programlamaya Giriş 7
İstemci, sunucu, port kelimelerini de ele alıp, soket konusunu biraz
daha açıklığa kavuşturalım. İstemci veriyi isteyen soket programıdır.
Sunucuya bağlanır, isteğini iletir, bağlantısını kapar. Sunucu ise
veriyi veren soket programdır. İstemi alıp değerlendirir, gerekli
yanıtı ıstemciye iletir. Sunucunun istemine herhangi bir anda yanıt
verebiliyor durumda olması için devamlı
çalışması lazımdır. İstemciye örnek olarak httpd, telnetd, nfsdyi
verebiliriz. Port ise soketlerin bağlantı kurmak için kullandığı
kanaldır. İstediğimiz zaman bağlantı kurmak için bilgisayarımızda
aştığımız bir kapı gibi düşünebiliriz portu.

Soket bağlantımın uç noktası, istemciyi tarayıcım aracılığıyla
kullanıyorum, sunucu bana bilgi iletiyor ama nasıl? Bu soruya cevap
alabilmeniz için
umarım yazımın kalan kısmı giriş niteliğinde de olsa işinize yarar.
Aşağıda Java kullanarak kendi sunucunuzu yazabilmeniz için küçük
yardımcı bilgiler bulabilirsiniz.

Socket sınıfını kullanabilmek için önce onun namespace’ni import etmemiz gerekiyor.

import java.net.*;

Sunucu kısmı için kullanacağımız sınıfın adı "ServerSocket", aşağıda bu sınıfın tanımlanmasını görmektesiniz.

ServerSocket server;

Sunucunuzun internete bağlanması için onu bir porta yönlendirin.
Portların numaraları vardır. portNo’ya istediğiniz bir port numarasını
atayın ve bu port numarasıyla yeni bir ServerSocket nesnesi oluşturun.

int portNo;
server=new ServerSocket(portNo);

Programınız aşağıdaki satırda istemciden istek gelene kadar
bekleyecektir. "accept" komutu istemciden gelen istemi farkeder ve
istem bilgileri doğrultusunda
yeni bir soket nesnesi oluşturur. Yeni oluşan soket nesnesi istemciyi sunucu tarafında temsil eder diyebiliriz.

Socket socket=server.accept();

İnternet ağına bağlı cihazlara addres olarak atanan numara IP (internet
protocol adress) dir. Örneğin kendi makinanızda local host unuzun IP’si
127.0.0.1 dir. Localhostumuzun IP’sini ağdaki adres olarak değil,
makinanızın adresi olarak düşünelim. "getInetAdress" burada bize
istemcinin IP’sini verecektir.

socket.getInetAddress();

socket nesnelerini içine veri yazılabilir ve içinden veri okunabilir
dosyalar olarak düşünebiliriz. İstemcinin bizden ne istediğini
anlayabilmek için istemciyi temsil eden socket nesnesinin içeriğini
elde edip değerlendirmemiz, yani okumamız lazım. Aynı zamanda istemciye
bilgi aktarabilmek için soket nesnesine veri aktarmamız yani
yazabilmemiz lazım. İstenen verileri soket nesnesine aktarabilmek için
öncelikle veri çıktı işlemlerini kontrol edebileceğimiz bir
"OutputStream" nesnesi yaratmalıyız. Bunun için dosyanızın başına
OutputStream nesnesinin dahil olduğu java.io namespace’sini eklemeyi
unutmayın.

import java.io.*;
// yıldız karakteri o sınıfın altında tanımlı olan herşeyi import etmemize neden olacaktır
//genel olarak bundan kaçının.
OutputStream output;
// gerekli outputstream nesnesi tanımı
output = socket.getOutputStream();
// soketin outputstream nesnesine output nesnesi referans olarak atanır.
BufferedReader reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
// soketten veri okumak içinse inputstream nesnesine bir bufferedstream nesnesi referans olarak atanır.

Artık istenen verileri yazmak için byteleri arguman olarak output nesnesinin write metodunu;

output.write(...);

istenen bilgileri satır satır okumak için reader nesnesinin readline metodunu;

String line;
line = reader.readline();

kullanabilirsiniz.

Okuma ve yazma işlemleriniz bittikten sonra, socket ve bufferedreader nesnelerini kapamayı unutmayın.

reader.close();
socket.close();

Eğer kendi sunucu programınızı yazmaya karar verdiyseniz, sunucunuzun
sürekli açık olmak zorunda olduğunu unutmayın. Bu durumu serversocket
nesnenizi
while(true) döngüsü içinde oluşturarak elde edebilirsiniz.

Biraz araştırmayla programınızı tamamlamanız dileğiyle. Kolay gelsin..

Sayfa başına dön Aşağa gitmek
http://www.refleksforum.com
 
Java Ile Soket Programlamaya Giriş
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Java Diline Giriş 1
» Assembly Giriş
» Pardus Ile Java Programlama
» Jad - Java Ile Tersine Mühendislik
» İktisada Giriş Ders Özeti

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
|Refleks|-Oyun,Tasarım,Film,Program,Tek link,İndir :: Bilgisayar Dersleri :: Java-
Buraya geçin: