Comment on page
🕳️ Web Socket
Python ile websocket işlemleri (okuma yazma vs)
- 🔌 Ağ programlama kullanılan Socket yapısının web uygulamalarına uygulanmış halidir
- 🕊️ Düşük gecikme ve hızlı işlemler için tercih edilen HTTP protokolüne kıyasla hafif bir yapıdır
- 🔁 İki yönlü bağlantı yapısıyla sadece istemci değil, sunucu da istekte bulunabilir
- 🌊 İki bağlantı yapısı sayesinden sürekli olarak veri beslemesi yapılabilmektedir
- 💁♂️ Verileri güncellemek için isteğin yenilenmesine gerek yoktur, sürekli olarak güncel veriler aktarılır, veri değişikliklerine bağlıdır
- 🦄 Güncel veriler aktarıldığı için tek seferlik HTTP isteği ile bağlantı işlemi yapılır
- ❌ HTTP protokolünü kullanmadığı için URL yapısı
ws
veyawss
ile başlar
👮♂️ HTTP protokolü tek yönlü bağlantı olduğundan sadece istemci istekte bulunur, sunucu istekte bulunamaz
- ✨ İstemcinin bize erişebileceği bir IP ve port adresi tanımlanır
- 🏗️ İstemci ile bağlantı kurmak için
ws
veya güvenli olanwss
ile başlayan url ile istek atılır - 👀 Bağlantı kurulduğunda; hata, bilgi veya bağlantının kapanması durumunda sunucu istemciye mesajlar göndermeye başlar
- 🕹️ Oyunlar gibi istemci ile sunucunun haberleşmesinin çok yüksek miktarda olduğu uygulamalarda
- 🗨️ Mesajlaşma uygulamaları gibi her mesaj gelme durumunda güncellenmesi gereken servislerde
- 💨 Bankacılık ve döviz işlemlerinde olduğu gibi düşük gecikme ile tamamlanması gereken işlemlerde
# pip install websocket_client
import websocket
try:
import thread
except ImportError:
import _thread as thread
def on_message(ws, message):
print(message)
def on_error(ws, error):
print(error)
def on_close(ws):
print("### closed ###")
def on_open(ws):
def run(*args):
for i in range(3):
time.sleep(1)
ws.send("Hello %d" % i)
time.sleep(1)
ws.close()
print("thread terminating...")
thread.start_new_thread(run, ())
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp(
"ws://echo.websocket.org/",
on_message=on_message,
on_error=on_error,
on_close=on_close)
ws.on_open = on_open
ws.run_forever()
Last modified 1mo ago