Skip to content

Commit 17a6516

Browse files
authored
Merge pull request #897 from Unity-Technologies/proper-socket-error
Report the proper socket error (case 1012875) Release notes: Scripting: Provide the proper socket error when an IPv4 connection is refused.
2 parents 83e3daa + e09ab04 commit 17a6516

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

mcs/class/System/System.Net.Sockets/Socket.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,19 @@ bool GetCheckedIPs (SocketAsyncEventArgs e, out IPAddress [] addresses)
11601160
// while skipping entries that do not match the address family
11611161
DnsEndPoint dep = e.RemoteEndPoint as DnsEndPoint;
11621162
if (dep != null) {
1163-
addresses = Dns.GetHostAddresses (dep.Host);
1163+
var possibleAddresses = Dns.GetHostAddresses (dep.Host);
1164+
var numberOfAddresses = 0;
1165+
int[] addressIndices = new int[possibleAddresses.Length];
1166+
for (var i = 0; i < possibleAddresses.Length; i++) {
1167+
if (possibleAddresses[i].AddressFamily == dep.AddressFamily) {
1168+
addressIndices[numberOfAddresses] = i;
1169+
numberOfAddresses++;
1170+
}
1171+
}
1172+
addresses = new IPAddress[numberOfAddresses];
1173+
for (var i = 0; i < numberOfAddresses; i++)
1174+
addresses[i] = possibleAddresses[addressIndices[i]];
1175+
11641176
return true;
11651177
} else {
11661178
e.ConnectByNameError = null;

0 commit comments

Comments
 (0)