dotnet/runtime
GitHub で見るSendTo*** and Receive(Message)From*** throw different exceptions when remoteEP AddressFamily does not match
Open
#47,772 opened on 2021年2月2日
area-System.Net.Socketsbughelp wanted
Repository metrics
- Stars
- (17,886 stars)
- PR merge metrics
- (平均マージ 12d 11h) (30d で 661 merged PRs)
説明
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.