Anasayfa » Python » Socket Programing

Socket Programing

11 Nisan 2010  |  Yazar: coders  |  Yorum Yok  |  10 kez okundu
Facebook'da Paylaş Twitter'da Paylas FriendFeed'de Paylaş Socket Programing

..Socket programlamayı üzerinden inceleyeceğiz bu yazımızda.Socketleri kullanarak network programlamaya ilk adımı atmış olacağız.

Herzamanki gibi socketleri en güzel ifade edebilmenin yolu bir server client bağıntısı kurmaktır. dili sağlamaktadır. socket.socket().

Bu socket modülü çeşitli protokolleri desteklemektedir.TCP ve UDP protokolleri üzerine network alt yapısı hazırlanabilir.Genelde TCP kullanılır biz UDP ile bir örnek yapalım.

Şİmdi yazımıza geçelim..

from socket import *

Programımız iki taraflı olduğu için yani bir client ve server tarafına sahip
olacağı için öncelikle client programımızı yazalım..

Socketin başlatılabilmesi için ihtiyacı olan parametreleri tanımlayalım;

hosts = "localhost"

port = 21567

buf = 1024

addr = (host,port)
Şimdi bu parametreleri açıklayalım..

host tanımında programın çalışacağı ağ tanımlanır.Local'de çalıştıracağımız içim
localhost yazdık..

port tanımında ise socketlerin iletişim kuracağı port numarasıdır..

buf tanımı ise veri akışının maksimum boyutunu ifade eder.İhtiyaçlarınıza göre
farklı değerler verebilirsiniz..

addr tanımı ise mesaj gönderirken kullanılan bir bağlantı noktasıdır..

Şimdi socketi oluşturmaya başlayabiliriz..
UDPSock = socket(AF_INET, SOCK_DGRAM)

Şimdi sendTo kullanarak bir mesaj gönderelim..

msg = "thecoders.net"

UDPSock.sendto(data,addr)


Client programını bu aşamaya kadar getirdik.Şimdi Server kısmına geçelim..

Yine tanımlamalarımızı yapıyoruz..

host = "localhost"

port = 21567

buf = 1024

addr = (host,port)

Yeni bir socket yaratalım

UDPSock = socket(AF_INET,SOCK_DGRAM)

UDPSock.bind(addr)

Gönderilen mesajları alalım.. ile

data,addr = UDPSock.(buf)

ve gelen mesajı print fonksyionu ile yazdıralım..

print data

Client ve Server programlarının temelini oluşturan kodlar bu şekilde..

Genel olarak kodlarımızı verelim..

Client

#Client program

from socket import *

# Socket Parametrelerini belirleyelim

host = "localhost"

port = 21567

buf = 1024

addr = (host,port)

# Socket Oluşturalım

UDPSock = socket(AF_INET,SOCK_DGRAM)

def_msg = "===Server'a mesaj göndermek için Enter'a basın===";

print "n",def_msg

# Mesaj Gönderme

while (1):

        data = raw_input('>> ')

        if not data:

                break

        else:

                if(UDPSock.sendto(data,addr)):

                        print "Mesaj Gönderiliyor '",data,"'....."

# Socketi Kapatıyoruz

UDPSock.close()

Server Program

#Server program

from socket import *

# Socket Parametrelerini belirliyoruz

host = "localhost"

port = 21567

buf = 1024

addr = (host,port)

# İletişimi sağlayacak olan addr için socket oluşturalım

UDPSock = socket(AF_INET,SOCK_DGRAM)

UDPSock.bind(addr)

# Gelen Mesaj

while 1:

        data,addr = UDPSock.recvfrom(buf)

        if not data:

                print "Client Çıktı!"

                break

        else:

                print "nGelen Mesaj '", data,"'"

# Socketi Kapatıyoruz

UDPSock.close()

İyi çalışmalar..

Facebok'ta Paylaş

Benzer Yazılar

Etiketler: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
avatar

Ahmet Ates

http://www.coders.gen.tr/ 25 yasindayim. Z.K.U Biyomedikal Cihaz Teknolojisi bölümünü okudum, Programlama dilleri arasindan ilgilendiğim ve profesyonel olarak hizmet verdiğim dil Fortran'dir. Web olarak Php,Css ve hazır sistemler olarak Wordpress ve Vbulletine hayranlık besliyorum.

Bu yazı hakkında birşeyler demek ister misiniz?

RSS üzerinden bu yazıya yapılan yorumları takip edin.

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir.

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Programlama