Socket.LocalEndPoint обновляется после вызова SendToAsync
Socket.SendToAsync(SocketAsyncEventArgs) теперь обновляет значение свойства Socket.LocalEndPoint, используя локальный адрес сокета.
Представленные версии
5,0
Описание изменения
В предыдущих версиях .NET Socket.SendToAsync(SocketAsyncEventArgs) не изменяет значение свойства Socket.LocalEndPoint для экземпляра сокета. Начиная с .NET 5 при успешном завершении SendToAsync(SocketAsyncEventArgs) в качестве значения Socket.LocalEndPoint устанавливается локальный адрес неявно привязанного сокета. Это согласуется с поведением SendTo(Byte[], EndPoint) и BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)/EndSendTo(IAsyncResult).
Причина изменения
Это изменение позволяет исправить ошибку и обеспечивает согласованность поведения в вариантах SendTo
.
Рекомендуемое действие
Измените любой код, в котором предполагается, что SendToAsync(SocketAsyncEventArgs) не изменяет значение Socket.LocalEndPoint.