Nis 152015
11.145 viewsBlack Hat Python programming
http://nostarch.com/blackhatpython/
466-socket-programming.pdf
Python_network_programming.pdf
PythonNetBinder.pdf
Socket Programming in Python.pdf
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:
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()
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.
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
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 🙂
güzel başarılı bi’ makale, böyle özgün içerikler görmek heyecan verici teşekkürler ! takipteyim… 🙂
Teşekkürler Serdar bey.
[…] Python ile Socket Programlama 1 […]
sunucuSocket = socket(AF_INET, SOCK_DGRAM)
NameError: name ‘socket’ is not defined
hatasınjı alıyorum