public unsafe PosixResult TryGetPeerIPAddress(out IPEndPointStruct ep) { IPSocketAddress socketAddress; var rv = SocketInterop.GetPeerName(this, (byte *)&socketAddress, sizeof(IPSocketAddress)); if (rv.IsSuccess) { ep = socketAddress.ToIPEndPoint(); } else { ep = default(IPEndPointStruct); } return(rv); }
public static unsafe PosixResult TryGetPeerIPAddress(int socket, out IPEndPointStruct ep, IPAddress reuseAddress = null) { sockaddr_storage socketAddress; var rv = SocketInterop.GetPeerName(socket, &socketAddress); if (rv.IsSuccess) { if (!ToIPEndPointStruct(&socketAddress, out ep, reuseAddress)) { return(new PosixResult(PosixResult.EINVAL)); } } else { ep = default(IPEndPointStruct); } return(rv); }