2016-07-05 19 views
1

Wie ist es möglich, die dynamisch zugewiesenen Port einen IPEndPoint zu bekommen, wenn Sie es mit 0 als Port erstellen:Holen Sie sich das dynamisch alloccated Port einen IPEndPoint

var endpoint = new IPEndPoint(Dns.GetHostAddresses(localhost).FirstOrDefault(), 0); 

Wenn ich am endpoint.Port aussehen, es ist 0 (beliebig), auch wenn der unterlagernde Socket bereits einen bestimmten Port haben muss?

+1

Sie alle Infos in bekommen können: tcpClient.Client.LocalEndPoint oder tcpClient.Client.RemoteEndPoint und tcpListener.LocalEndPoint –

+0

Da ich den Endpunkt für die SIP-Datenverkehr verwenden, I müssen sowohl UDP als auch TCP unterstützen, also muss ich in diesem Fall entweder udpclient oder einen tcpclient verwenden. Ich schätze ein Udcplient hat die gleichen Möglichkeiten? Wenn es überhaupt nicht möglich ist, den dynamischen Port vom IPEndPoint zu beziehen, könnte dies eine Lösung sein. – grmihel

+0

Ja, sowohl für udp als auch für tcp können Sie die Socket-Klasse verwenden. Dieser "RemoteEndPoint" und "LocalEndPoint" stammen aus der Socket-Klasse. –

Antwort