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) 的行為一致。
變更原因
這項變更會修正錯誤 (bug),並讓 SendTo
變異的行為保持一致。
建議的動作
改變任何假設 SendToAsync(SocketAsyncEventArgs) 不會改變 Socket.LocalEndPoint 值的程式碼。