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