آیا اتصال مسدود شده است؟
آیا اتصال مسدود شده است؟

تصویری: آیا اتصال مسدود شده است؟

تصویری: آیا اتصال مسدود شده است؟
تصویری: آیا آیپی سرور من فیلتر شده؟|چگونه متوجه بشیم آیپی سرور ما بلاک (فیلتر/مسدود) شده؟ 2024, مارس
Anonim

اتصال هست یک مسدود کردن به طور پیش فرض تماس بگیرید، اما می توانید آن را غیرفعال کنید مسدود کردن با عبور به سوکت پرچم SOCK_NONBLOCK. اتصال () تا پایان دست دادن سه طرفه TCP مسدود می شود. Handshake در سمت گوش دادن توسط پشته TCP/IP در هسته مدیریت می شود و بدون اطلاع دادن به فرآیند کاربر به پایان می رسد.

به همین ترتیب سؤال می شود که سوکت مسدود کننده و غیر مسدود کننده چیست؟

که در مسدود کردن حالت، recv، ارسال، اتصال (فقط TCP) و پذیرش (فقط TCP) سوکت تماس های API انجام خواهد شد مسدود کردن به طور نامحدود تا زمانی که عمل درخواستی انجام شود. که در غیر - مسدود کردن حالت، این توابع بلافاصله برمی گردند. اراده را انتخاب کنید مسدود کردن تا سوکت آماده است.

عملکرد مسدود کردن چیست؟ آ عملکرد مسدود کردن اساسا برای همیشه محاسبه می کند. منظورش همینه مسدود کردن . دیگر توابع مسدود کردن منتظر می ماند تا IO رخ دهد. یک غیر مسدود کردن سیستم IO به معنی الف است عملکرد یک اکشن IO را شروع می کند، سپس به حالت بیکار می رود و در صورت وقوع، نتیجه عمل IO را مدیریت می کند.

پس از آن، سوال این است که آیا سوکت مسدود می شود؟

تایید کنید () تماس گیرنده را تا زمانی که اتصال برقرار شود مسدود می کند. اگر فضای پیام در دسترس نیست سوکت برای نگه داشتن پیامی که باید منتقل شود، سپس send() به طور معمول مسدود می شود. اگر هیچ پیامی در دسترس نیست سوکت ، تماس recv منتظر رسیدن پیام است.

آیا انتخاب یک بلوک است؟

اگر آرگومان timeout به یک شی از نوع struct timeval اشاره کند که اعضای آن 0 هستند، انتخاب کنید () ندارد مسدود کردن . اگر آرگومان تایم اوت NULL باشد، انتخاب کنید () بلوک می کند تا زمانی که یک رویداد باعث شود یکی از ماسک ها با یک مقدار معتبر (غیر صفر) برگردانده شود.

توصیه شده: