Я разрабатываю веб-сервер на Ubuntu 20.04 / x64. Сервер случайно не запускается из-за ошибки EADDRINUSE. Когда это происходит, netstat показывает, что порт, к которому я пытаюсь выполнить привязку, находится в состоянии TIME_WAIT.
Это strace, когда это происходит:
socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 40
setsockopt(40, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(40, {sa_family=AF_INET, sin_port=htons(6379), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EADDRINUSE (Address already in use)
Как вы можете видеть, я ' м уже установил SO_REUSEADDR. Почему я все еще не могу связать? Я что-то не так сделал со своими системными вызовами? Есть ли параметр в Ubuntu, который мне нужно настроить?