У меня есть сервер, который передает файлы по UDP, и он работает хорошо, когда одновременно работает только один клиент, но если другой клиент пытается подключиться, выдается следующая ошибка
listen udp: 20000: bind: обычно разрешено только одно использование каждого адреса сокета (протокола / сетевого адреса / порта).
Это мой код в основном:
...
fmt.Println("Input the number of connections")
var number int
fmt.Scanln(&number)
var wg sync.WaitGroup
wg.Add(number)
lAdd, err := net.ResolveUDPAddr("udp", PORT)
if err != nil {
fmt.Println(err)
return
}
for i:=0; i < number; i++ {
go startConnection(lAdd, file, i, wg)
}
wg.Wait()
Это код startConnection:
func startConnection (lAdd * net.UDPAddr, archivo string, i int, wg sync.WaitGroup) {
defer wg.Done()
conn, err := net.ListenUDP("udp", lAdd)
if err != nil {
logger.Println("There was an error: ", err)
return
}
defer conn.Close()
sendFile (conn, add, archivo, i)
}