Nis 152015
 
11.145 views

Python ile Socket Programlama 1

Python ile Socket Programlama 1

Videoda ayrıntılı açıklamalar mevcuttur.

[youtube https://www.youtube.com/watch?v=pssgQZXQsH8&w=560&h=315]

Örnek çalışmaları VMware Player üzerine kurulu Kali linux üzerinde yaptım. Kullandığım editör, WingIDE’dir.

Çalışır durumdaki Kodlar aşağıda yer almaktadır. Kodlarla ilgili açıklamalara ihtiyaç duyarsanız, videodan yararlanabilirsiniz. Hala konuyla ilgili yanıtlanmamış sorularınız varsa, yorum alanından bana iletebilirsiniz. En kısa zamanda yanıtlamaya çalışacağım. Bir sonraki videoda python ile TCP sunucu ve istemci programlamayı ele alacağım.

Beni izlemeye devam edin.

ahmet aksoy

Kaynaklar:

  • Black Hat Python programming
  • http://nostarch.com/blackhatpython/
  • 466-socket-programming.pdf
  • Python_network_programming.pdf
  • PythonNetBinder.pdf
  • Socket Programming in Python.pdf
  • ax-udp-sunucu.py

    #!/usr/bin/python
    # -*- encoding: utf-8 -*-
    #ax-udp-sunucu.py
    from socket import *
    sunucuAd = 'localhost'
    sunucuPort = 12345
    sunucuSocket = socket(AF_INET, SOCK_DGRAM)
    sunucuSocket.bind((sunucuAd,sunucuPort))
    print ('Sunucu veri almaya hazırdır')
    while 1:
        mesaj, istemciAdres = sunucuSocket.recvfrom(4096)
        if mesaj == 'axson':
            break
        yeniMesaj = mesaj.upper()
        sunucuSocket.sendto(yeniMesaj,istemciAdres)
    sunucuSocket.close()
    print ('Sunucu kapandı.')
    

    ax-udp-istemci.py

    #!/usr/bin/python
    # -*- encoding: utf-8 -*-
    #ax-udp-istemci.py
    from socket import *
    sunucuAd = 'localhost'
    sunucuPort = 12345
    istemciSocket = socket(AF_INET, SOCK_DGRAM) #datagram
    mesaj = raw_input('Küçük harfle bir cümle yaz:')
    istemciSocket.sendto(mesaj, (sunucuAd, sunucuPort))
    yeniMesaj, sunucuAdres = istemciSocket.recvfrom(4096)
    print (yeniMesaj)
    istemciSocket.close()
    

      8 Yanıt - “Python ile Socket Programlama 1”

    1. client1 ile client2 arasında mesajlaşmayı nasıl yapabiliriz :
      örneğin : client1==>mesaj ==> server
      sonra da :server==>mesaj==>client2

      • Her iki taraf hem client hem server olarak davranabilir.
        Şöyle bir örnek mümkün:
        cli-server1, cli-server2’ye 1 sayısını yollar.
        cli-server2 aldığı sayıya bir ekler ve cli-server1’e yollar.
        cli-server1 aldığı sayıya bir ekler ve tekrar cli-server2’ye gönderir.
        Böylece sonsuz bir döngü kurulmuş olur.
        Sayı için bir limit verilirse, sonsuz döngü de engellenmiş olur.

    2. anladım onu deneyeceğim inşallah.senin client bir kez çalıştıktan sonra kapanıyor onu nasıl sürekli açık tutabiliriz

    3. from socket import *
      sunucuAd = ‘localhost’
      sunucuPort = 12345
      istemciSocket = socket(AF_INET, SOCK_DGRAM) #datagram

      while True:
      mesaj = raw_input(‘>>>:’)
      istemciSocket.sendto(mesaj, (sunucuAd, sunucuPort))
      yeniMesaj, sunucuAdres = istemciSocket.recvfrom(4096)
      print (yeniMesaj)
      istemciSocket.close()

      şu şekilde çalıştı kardeş eyvallah 🙂

    4. güzel başarılı bi’ makale, böyle özgün içerikler görmek heyecan verici teşekkürler ! takipteyim… 🙂

    5. sunucuSocket = socket(AF_INET, SOCK_DGRAM)
      NameError: name ‘socket’ is not defined
      hatasınjı alıyorum

     Bir yanıt bırakın

    Bu HTML tagleri ve özellikleri kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

    (gerekli)

    (gerekli)

    This site uses Akismet to reduce spam. Learn how your comment data is processed.