2012-08-23 4 views
1

웹 응용 프로그램을 만들고 나가는 연결을위한 IP 주소를 선택해야합니다 (또는 GoDaddy 공유 호스팅을 자동으로 무작위로 선택합니다 (그러나 들어오는 연결에 대한 전용 IP도 가지고 있습니다. 분명히 나가는 연결에도 사용할 수 있어야합니다.)). 네트워크 어댑터를 열거하고 WebRequests, TcpClients 등에서 사용할 어댑터를 어떻게 선택할 수 있습니까?나가는 연결에 대해 IP 주소를 선택하는 방법은 무엇입니까?

감사합니다. 수 있습니다.

+0

OS 설정 (및 "기본 게이트웨이"를 적절히 설정해야합니다. –

+0

OS에 액세스하지 않고 공유 호스팅을 사용 중입니다. 내 앱이 보통 신뢰하에 운영되고 있습니다. 하지만 들어오는 연결에 할당 된 전담의 IP를 가지고 있고, 나가는 기술적 인 가능성이 있어야하는 나가는 연결을 위해 이것을 사용하는 방법을 찾고 있습니다. –

+0

당신의 "나가는 연결에도 사용할 수 있어야합니다"진술이 강하게 의심됩니다. 잘못된. 귀하의 코드가 실행될 수도 있습니다 (가능성이) 외부에서 직면 라우터에 의해 내부 서버 (일종의 NAT 구성 일종의) 트래픽을 지시에 의해 처리되는 IP 로이 IP를 전혀하지 않습니다. –

답변

0

이 문제에 관해 GoDaddy와 연락했습니다. 공유 호스팅 환경에서는 (전용 IP를 사용하는 경우에도) 가능하지 않기 때문에 밝혀졌습니다.

1

소켓이 Listen()으로 설정되지 않은 경우에도 bind를 사용하여 로컬 주소를 할당 할 수 있습니다.

For example for TcpClient it can be specified using the constructor

당신이 결합해야하는 경우, 단지 PARAMATERS의 로컬 주소를 지정합니다.

+0

사실 내가 어딘가에 기본 설정이 필요합니다. 페이스 북 C# SDK를 사용하고 있고 내부적으로 Tcp/HTTP/Web 클라이언트를 사용하고 있지만 생성자에 대한 액세스 권한이 없거나 아무 것도 없습니다. IPEndPoint 또는 네트워크 어댑터를 지정하는 방법 –

+0

아웃 바운드 연결의 기본 주소는 운영 체제의 대상 IP에 대한 특정 경로의 최소 '미터법'으로 정의됩니다. 기본 gw/네트워크 어댑터의 메트릭 값을 변경할 수있는 경우 원본 주소를 변경할 수 있습니다. 다른 모든 연결에도 영향을 미칩니다. API가 바인딩 옵션을 노출시키지 않으면 기존 방법을 사용하여 SDK를 사용하는 것이 특히 어렵다는 점은 상당히 긍정적입니다. – HLL

관련 문제