public override string ToString() { if (_fd == null) { return("<closed>"); } string s; if (_incoming && !_bound) { s = "local address = " + Network.AddrToString(_addr); } else if (_state == StateNotConnected) { s = "local address = " + Network.LocalAddrToString(Network.GetLocalAddress(_fd)); if (_peerAddr != null) { s += "\nremote address = " + Network.AddrToString(_peerAddr); } } else { s = Network.FdToString(_fd); } if (_mcastAddr != null) { s += "\nmulticast address = " + Network.AddrToString(_mcastAddr); } return(s); }
public override string ToString() { try { var sb = new StringBuilder(); if (_incoming) { sb.Append("local address = " + Network.LocalAddrToString(Network.GetLocalAddress(Socket))); if (_peerAddr != null) { sb.Append($"\nremote address = {_peerAddr}"); } } else { sb.Append(Network.SocketToString(Socket)); } if (MulticastAddress != null) { sb.Append($"\nmulticast address = {MulticastAddress}"); } List <string> interfaces; if (MulticastAddress == null) { interfaces = Network.GetHostsForEndpointExpand(_addr.ToString(), Network.EnableBoth, true); } else { Debug.Assert(_multicastInterface != null); interfaces = Network.GetInterfacesForMulticast(_multicastInterface, Network.GetIPVersion(MulticastAddress.Address)); } if (interfaces.Count != 0) { sb.Append("\nlocal interfaces = "); sb.Append(string.Join(", ", interfaces)); } return(sb.ToString()); } catch (ObjectDisposedException) { return("<closed>"); } }
public ConnectionInfo GetInfo() { var info = new TCPConnectionInfo(); Socket?fd = _stream.Fd(); if (fd != null) { EndPoint localEndpoint = Network.GetLocalAddress(fd); info.LocalAddress = Network.EndpointAddressToString(localEndpoint); info.LocalPort = Network.EndpointPort(localEndpoint); EndPoint?remoteEndpoint = Network.GetRemoteAddress(fd); info.RemoteAddress = Network.EndpointAddressToString(remoteEndpoint); info.RemotePort = Network.EndpointPort(remoteEndpoint); info.RcvSize = Network.GetRecvBufferSize(fd); info.SndSize = Network.GetSendBufferSize(fd); } return(info); }
public ConnectionInfo GetInfo() { var info = new UDPConnectionInfo(); if (_fd != null) { EndPoint localEndpoint = Network.GetLocalAddress(_fd); info.LocalAddress = Network.EndpointAddressToString(localEndpoint); info.LocalPort = Network.EndpointPort(localEndpoint); if (_state == StateNotConnected) { if (_peerAddr != null) { info.RemoteAddress = Network.EndpointAddressToString(_peerAddr); info.RemotePort = Network.EndpointPort(_peerAddr); } } else { EndPoint?remoteEndpoint = Network.GetRemoteAddress(_fd); if (remoteEndpoint != null) { info.RemoteAddress = Network.EndpointAddressToString(remoteEndpoint); info.RemotePort = Network.EndpointPort(remoteEndpoint); } } info.RcvSize = Network.GetRecvBufferSize(_fd); info.SndSize = Network.GetSendBufferSize(_fd); } if (_mcastAddr != null) { info.McastAddress = Network.EndpointAddressToString(_mcastAddr); info.McastPort = Network.EndpointPort(_mcastAddr); } return(info); }