رفتن به محتوای اصلی
برنامه‌سازی پیشرفته با پایتون درس‌نامهٔ آزاد
مفهوم پیشرفته ۱۰ دقیقه

سوکت و TCP

چرخهٔ سوکت TCP، بایت در برابر رشته، مرز پیام و تفاوت TCP و UDP.

import socket
# کلاینتِ کمینه: وصل شو، بفرست، بگیر، ببند
with socket.create_connection(("127.0.0.1", 65432), timeout=5) as s:
    s.sendall("ping".encode("utf-8"))
    print(s.recv(1024).decode("utf-8"))

چهار حقیقتِ شبکه: (۱) سوکت بایت می‌فهمد — encode/decode و قراردادِ انکدینگ با توست؛ (۲) recv ممکن است کمتر از خواسته‌ات برگرداند — برای پیامِ کامل حلقه بزن یا از makefile استفاده کن؛ (۳) TCP جریانِ مطمئن و مرتب است، UDP دیتاگرامِ سریعِ بدون تضمین — انتخاب با نیازِ مسئله؛ (۴) مرز پیام (کِی یک «پیام» تمام شد؟) در TCP وجود ندارد: طول‌اول، جداکننده یا بستنِ اتصال، قراردادِ توست.

مطالب مرتبط

از همین بخش و با برچسب‌های مشترک

این مطلب را خواندید؟ آن را علامت بزنید تا پیشرفت شما روی همین دستگاه ذخیره شود.

وضعیت پیشرفت برای سوکت و TCP