Задать вопрос
Sirian
@Sirian

Node.JS: Повторное использование сокетов

Пытаюсь запустить такой скрипт:
require('net').createServer().listen('/tmp/test');


затем завершить его, и запустить еще раз, то вылетит ошибка:
Error: listen EADDRINUSE

Как заставить node.js повторно использовать сокеты? (и для локальных сокетов и для tcp сокетов)
  • Вопрос задан
  • 3795 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Бэкенд на Node.js для фронтенд-разработчиков
    3 месяца
    Далее
  • Skillbox
    Node.js
    2 месяца
    Далее
  • Stepik
    Microservices - паттерны и практика построения микросервисов
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
Из-за TIME_WAIT bind() на сокет может возвращать EADDRINUSE в течении еще 2-4 минут. Вообще node не должна обращать на это внимания, т.к. все сокеты открываются с SO_REUSEADDR.

В Вашем случае можно посоветовать делать сначала require('fs').unlink('/tmp/test');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы