Socket.LocalEndPoint wird nach dem Aufruf von SendToAsync aktualisiert

Socket.SendToAsync(SocketAsyncEventArgs) aktualisiert jetzt den Wert der Socket.LocalEndPoint-Eigenschaft auf die lokale Adresse des Sockets.

Eingeführt in Version

5.0

Änderungsbeschreibung

In früheren .NET-Versionen wird der Wert der Socket.LocalEndPoint-Eigenschaft der Socketinstanz nicht durch Socket.SendToAsync(SocketAsyncEventArgs) geändert. Ab .NET 5 ist der Wert von SendToAsync(SocketAsyncEventArgs) die lokale Adresse des implizit gebundenen Sockets, wenn Socket.LocalEndPoint erfolgreich abgeschlossen wurde. Dieses neue Verhalten ist mit dem von SendTo(Byte[], EndPoint) und BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)/EndSendTo(IAsyncResult) konsistent.

Grund für die Änderung

Diese Änderung korrigiert einen Fehler und bewirkt, dass das Verhalten von SendTo-Varianten konsistent ist.

Ändern Sie jeglichen Code, der annimmt, dass SendToAsync(SocketAsyncEventArgs) den Wert von Socket.LocalEndPoint nicht ändert.

Betroffene APIs