سلام،
کسی می داند که چرا عملکرد زیر به درستی قطع کابل کارت اترنت را هنگامی که در حالت نیمه دوبلکس پیکربندی شده است تشخیص می دهد و زمانی که در حالت فول دوبلکس پیکربندی می شود، قطع شدن را تشخیص نمی دهد؟
void check_hubs(int hub) { unsigned int stat,error_dev; زمان انتظار شناور = 0.1; /* برای دریافت پاسخ qio به زمان نیاز است */ P5_PARAM xmt_param={0xAB,0,0×04,0,0,0}; /* آدرس پخش چندپخشی */ char xmt_buffer[1]; /* بافر انتقال */ /* یک پیام چندپخشی */ _qio_iosb را ارسال می کند[hub].w_err = 0; stat = sys$qio(0,_network_channel[hub].channel،IO$_WRITEVBLK،&_qio_iosb[hub],0,0,&xmt_buffer[0],0,0,0,&xmt_param,0); if (stat & 1) { /* qio موفقیت. صبر کنید تا به اطلاعات برگشتی دسترسی پیدا کنید */ lib$wait(&waittime); /* وضعیت qio */ را بررسی می کند اگر (_qio_iosb[hub].w_err == 0) { /* timeout در عملیات نوشتن */ error_dev = TRUE; } else if ($FAIL(_qio_iosb[hub].w_err)) { /* خطای شبکه */ error_dev = TRUE; } else { /* موفقیت در عملیات نوشتن */ error_dev = FALSE; } } else { /* خطای qio */ if (_network_channel[hub]بحرانی) { lib$stop(stat,0,0); } else if (!_error_in_hub[hub]) { printf(“QUIO ERROR CONTROL_DEVFAIL
“); lib$signal(CONTROL_DEVFAIL، 1، &_dvc_dsc); } error_dev = TRUE; } }
منبع: https://community.hpe.com/t5/operating-system-openvms/half-duplex-mode-vs-full-duplex-mode-issue/m-p/7178567#M105732
تحریریه مجله اچ پی