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值的代码。

受影响的 API