رفع address already in use در v2rayN؛ پورت اشغال ویندوز
خطای address already in use هنگام شروع v2rayN معمولاً یعنی نشانی و پورت محلی موردنیاز برنامه در دسترس آن نیست؛ ابتدا همان پورت و برنامهٔ استفادهکننده را پیدا کنید. اگر پیام شامل listen یا bind و آدرسی مانند 127.0.0.1 است، تعویض کشور سرور اشتراک قدم اول نیست. هسته ممکن است هنوز نتوانسته باشد ورودی محلی خود را راهاندازی کند.
این راهنما برای ویندوز است. شمارههای داخل نمونهها آموزشیاند؛ همیشه عدد نوشتهشده در خطای دستگاه خودتان را جایگزین کنید. دستورهای این صفحه فقط برای مشاهدهاند و هیچ پردازشی را نمیبندند. برای رفع تعارض باید ابتدا مالک پورت و نقش برنامه را بشناسید.
۱. نشانی خطا را کامل بخوانید
در مرجع رسمی خطاهای Winsock، خطای 10048 یا WSAEADDRINUSE به استفادهٔ همزمان یا آزادنبودن نشانی سوکت مرتبط است. نشانی فقط عدد پورت نیست؛ پروتکل و آدرس هم مهماند. این پیام را با خطای دسترسی یا ناتوانی در رسیدن به سرور یکی ندانید.
نمونهٔ زیر فقط شکل پیام را نشان میدهد و تضمین نمیکند پورت نسخهٔ شما همین باشد:
listen tcp 127.0.0.1:10808: bind: address already in use
در این نمونه، 127.0.0.1 به همان رایانه اشاره دارد. عدد 10808 پورت محلی است، نه پورت سرور خریداریشده. اگر پورت مقصد را در کانفیگ تغییر دهید، تعارض ورودی محلی الزاماً برطرف نمیشود و ممکن است اتصال به سرویس را هم خراب کنید.
| عبارت یا نشانه | مسیر بررسی |
|---|---|
| listen یا bind همراه نشانی محلی | مالک ورودی محلی و پورت را پیدا کنید |
| address already in use | تعارض یا آزادنبودن همان نشانی مطرح است |
| access denied یا پیام مجوز | آن را خودکار معادل پورت اشغال نگیرید |
| connection refused هنگام dial | مقصد اتصال را بررسی کنید؛ مرحله متفاوت است |
| timeout بعد از شروع هسته | عیبیابی ارتباط را جدا دنبال کنید |
۲. اجرای چند نسخه را بررسی کنید
به نوار کنار ساعت ویندوز و پنجرههای باز نگاه کنید. ممکن است نسخهٔ نصبشده و نسخهٔ قابلحمل را همزمان اجرا کرده باشید، یا یک ابزار اتصال دیگر از همان ورودی استفاده کند. یکسانبودن ظاهر آیکونها دلیل یکسانبودن محل اجرا نیست؛ نام و مسیر برنامهها را بررسی کنید.
اگر نسخهٔ تکراری را خودتان شناختهاید، از گزینهٔ خروج همان برنامه استفاده کنید. بستن پنجره همیشه به معنی پایان اجرای پسزمینه نیست. پس از خروج عادی، فقط یک نسخه را باز کنید و متن خطای تازه را ببینید. چند بار اجرای پشتسرهم میتواند تشخیص را دشوارتر کند.
در رایانهٔ کاری، سرویس سازمانی را برای آزادکردن پورت متوقف نکنید. اگر مالک پورت را نمیشناسید، نام پردازش و مسیر آن را برای مسئول دستگاه نگه دارید. حذف فایل یا خاموشکردن فایروال برای حل یک تعارض شناختهنشده اقدام مناسبی نیست.
۳. پورت را با PowerShell مشاهده کنید
دستور رسمی Get-NetTCPConnection اطلاعات اتصالهای TCP، نشانیها و وضعیت آنها را نمایش میدهد. در PowerShell، با عدد واقعی خطای خودتان نمونهٔ زیر را اجرا کنید:
Get-NetTCPConnection -State Listen -LocalPort 10808 |
Select-Object LocalAddress, LocalPort, OwningProcess
در خروجی، OwningProcess شناسهٔ پردازش است. این شناسه را با ستون PID در بخش Details مدیر وظایف ویندوز تطبیق دهید. قبل از هر اقدام، نام برنامه و محل اجرای آن را بشناسید. PID میتواند بعد از خروج و اجرای مجدد تغییر کند؛ عدد یادداشتشدهٔ قدیمی را مبنای بستن برنامه قرار ندهید.
اگر نتیجهای نمیبینید، بلافاصله نتیجه نگیرید خطا بیمعنی بوده است. ممکن است وضعیت از زمان پیام تغییر کرده، پورت متفاوتی را بررسی کرده باشید یا خطا مربوط به پروتکل دیگری باشد. پیام تازه را دوباره بخوانید و همان نشانی و همان مرحله را مقایسه کنید. این دستور مشخصاً برای TCP است.
۴. روش جایگزین با netstat
اگر روش قبلی در دسترس نیست، netstat در مستندات Microsoft گزینهٔ دیگری برای مشاهده است. دستور زیر اتصالها و ورودیهای TCP را همراه شمارهها و PID نشان میدهد:
netstat -ano -p tcp
در ستون Local Address به دنبال پورت واقعی بگردید و وضعیت LISTENING را از اتصالهای دیگر جدا کنید. عدد مشابه در ستون Foreign Address به معنی اشغال همان پورت محلی نیست. همچنین 0.0.0.0 یا نشانی IPv6 را بدون بررسی کنار نگذارید؛ برنامه ممکن است روی نشانی گستردهتری گوش کند.
خروجی کامل میتواند اطلاعات شبکهٔ دستگاه را نشان دهد. برای درخواست کمک، فقط خط مرتبط را با اطلاعات لازم و بدون دادهٔ خصوصی ارسال کنید. فهرست همهٔ ارتباطهای رایانه معمولاً برای توضیح یک پورت اشغال ضروری نیست.
۵. انتخاب بین خروج برنامه و تغییر پورت
وقتی مالک مشخص شد، دو وضعیت دارید. اگر نسخهٔ تکراری برنامه است و به آن نیاز ندارید، خروج عادی آن را بررسی کنید. اگر برنامهٔ دیگر بهدرستی از پورت استفاده میکند، میتوانید برای کلاینت یک پورت محلی دیگر در تنظیمات مربوط به ورودی انتخاب کنید؛ نام گزینه را در نسخهٔ نصبشده ببینید.
پورت جدید را هم ابتدا بررسی کنید و یک عدد دلخواه را بدون مشاهده آزاد فرض نکنید. تغییر پورت محلی، شمارهٔ مقصد روی سرور اشتراک را تغییر نمیدهد. اگر مرورگر یا برنامهٔ دیگری پروکسی دستی دارد، نشانی و پورت آن باید با ورودی جدید هماهنگ شود؛ وگرنه هسته اجرا میشود ولی مصرفکننده همچنان به آدرس قبلی مراجعه میکند.
برای ادامهٔ این مرحله، راهنمای پروکسی سیستم v2rayN تفاوت تنظیم خودکار و دستی را توضیح میدهد. رفع پیام اولیه پایان آزمایش نیست؛ باید ببینید همان برنامهٔ موردنیاز حالا از مسیر درست استفاده میکند.
اگر بعد از اصلاح هنوز وصل نمیشود
ابتدا بررسی کنید پیام address already in use واقعاً ناپدید شده است. اگر هسته بالا آمده و اکنون خطای دیگری وجود دارد، آن را مسئلهٔ مرحلهٔ بعد بدانید. تغییرات قبلی را ثبت کنید تا برای رفع خطای تازه دوباره پورت سالم را بیدلیل دستکاری نکنید.
برای شناخت تفاوت مسیرها، راهنمای TUN و پروکسی سیستم را ببینید. این دو مفهوم جای بررسی موفقیت شروع هسته را نمیگیرند. روشنکردن TUN روی برنامهای که هنوز نمیتواند ورودی لازم را بسازد، تشخیص تعارض محلی را حذف نمیکند.
اگر مشکل پس از هر ورود به ویندوز برمیگردد، فهرست برنامههای شروع خودکار را با مالک پورت مقایسه کنید. هر گزینهٔ ناشناختهای را غیرفعال نکنید؛ تنها برنامهای را تغییر دهید که نقش آن روشن است و خودتان اختیار مدیریت آن را دارید. در دستگاه مدیریتشده، این مرحله را به مسئول آن بسپارید.
گزارش مناسب برای پشتیبانی
نسخهٔ v2rayN، متن کامل خطا با اطلاعات خصوصی پوشاندهشده، پورت محلی، نام پردازش مالک و زمان رخداد را آماده کنید. مشخص کنید از یک نسخه استفاده میکنید یا چند نصب دارید و مشکل قبل از انتخاب سرور رخ میدهد یا پس از شروع اتصال.
برای خطایی که هنوز در مرحلهٔ محلی است، خرید مجدد اشتراک راه تشخیص نیست. شرایط سرویس در صفحهٔ اصلی v2route است، اما ابتدا تعارض دستگاه را رفع و سپس ارتباط واقعی را آزمایش کنید؛ تغییر فروشنده لزوماً برنامهٔ استفادهکننده از پورت را متوقف نمیکند.
سؤالات متداول
پورت 10808 در این خطا همان پورت سرور است؟
در نمونهٔ listen روی 127.0.0.1، پورت محلی رایانه است. عدد واقعی را از پیام خودتان بخوانید و آن را با پورت مقصد اشتراک اشتباه نگیرید.
همهٔ پردازشهای Xray را از Task Manager ببندم؟
خیر؛ ابتدا مالک پورت و نسخهٔ برنامه را مشخص کنید. از خروج عادی برنامهٔ شناختهشده استفاده کنید و پردازش ناشناس یا سازمانی را تصادفی نبندید.
بعد از تغییر پورت، چرا مرورگر هنوز وصل نیست؟
ممکن است تنظیم پروکسی دستی هنوز به پورت قبلی اشاره کند. موفقیت شروع هسته و هماهنگی مصرفکننده با ورودی جدید را جدا بررسی کنید.
خالیبودن خروجی دستور یعنی پورت همیشه آزاد است؟
خیر؛ خروجی وضعیت همان لحظه و همان فیلتر را نشان میدهد. نشانی، پروتکل، شمارهٔ پورت و زمان خطا را با بررسی فعلی تطبیق دهید.
راهحلهای بالا را انجام دادید و هنوز مشکل باقی است؟
اول با یک کانفیگ سالم رایگان مقایسه کنید؛ اگر مشکل حل شد، بعد پلن مناسب را بخرید