24# 서버와 접속 중일 때 자신 포트 찾기
서버에 접속하려면 서버 ip와 포트를 알아야 한다.
그런데 클라이언트에서 자기 포트를 알아야 하는 경우가 생겼는데, 별 다른 글이 없는 도중 양형의 좋은 글을 발견.
IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] endPoints = ipProperties.GetActiveTcpListeners(); TcpConnectionInformation[] tcpConnections = ipProperties.GetActiveTcpConnections();
foreach (TcpConnectionInformation info in tcpConnections) { if(info.RemoteEndPoint.Address.ToString() == WebSocketConfig.serverIp && info.RemoteEndPoint.Port == WebSocketConfig.serverPort) { LazySingleton<UserConfig>.Instance.IpPort = string.Format("{0}:{1}", info.LocalEndPoint.Address, info.LocalEndPoint.Port); break; }
//Console.WriteLine("Local: {0}:{1}\nRemote: {2}:{3}\nState: {4}\n", // info.LocalEndPoint.Address, info.LocalEndPoint.Port, // info.RemoteEndPoint.Address, info.RemoteEndPoint.Port, // info.State.ToString()); } |
참고 사이트
https://codeday.me/ko/qa/20190307/16164.html