dotnet/runtime

SendTo*** and Receive(Message)From*** throw different exceptions when remoteEP AddressFamily does not match

開放

#47,772 建立於 2021年2月2日

 (4 則留言) (0 個反應) (0 位負責人)C# (5,445 個分叉)batch import
area-System.Net.Socketsbughelp wanted

倉庫指標

星標
 (17,886 顆星)
PR 合併指標
 (平均合併 12天 11小時) (30 天內合併 661 個 PR)

描述

If the address family of the remoteEP argument does not match the socket's address family, variants of Receive(Message)From throw an ArgumentException thanks to this guard: https://github.com/dotnet/runtime/blob/4df29c9715659a7957ffeae8b79ba8b52d71ba02/src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.cs#L1710-L1714

SendTo has the same limitation, but we do not guard those methods, instead we let the underlying PAL to fail with a SocketError.InvalidArgument. We may want to change this behavior for consistency.

Also note that the Recive(Message)From exception is undocumented.

貢獻者指南