2011-08-06 3 views
0

간단한 WCF 클라이언트/서버 응용 프로그램을 작성하고 있습니다. 이 서비스는 콘솔 응용 프로그램으로 실행됩니다.다른 컴퓨터에서 실행되는 WCF 서비스 및 클라이언트

클라이언트와 서버가 동일한 시스템에서 실행될 때 정상적으로 작동합니다. 엔드 포인트 URI는 다음과 같습니다

http://localhost:8000/Myservice/Service 

그러나, 나는에 서비스의 엔드 포인트 URI를 다른 컴퓨터에 클라이언트를 이동하고 설정하면 다음의

http://192.168.0.10:8000/Myservice/Service 

(192.168.0.10) 인 IP 서버 컴퓨터.

클라이언트가 더 이상 작동하지 않습니다.

위의 URI를 Visual Studio에 제공하여 "서비스 참조 추가"를 다시 추가하려고했습니다. 그러나 클라이언트는 더 이상 서버에서 실행중인 서비스를 감지하고 프록시를 추출 할 수 없습니다.

네트워크 관련 문제가있을 수 있습니까? 방화벽 예외 목록에 서비스 콘솔 응용 프로그램을 추가했지만 문제가 해결되지 않았습니다.

아무도 도와 줄 수 있습니까?

감사합니다.

+0

서버의 IP 주소를 핑 (ping) 할 수 있습니까? 서버의 포트 8000에서 텔넷을 사용할 수 있습니까? – Fabio

답변

0

WCF 서버에서 cmd : 'netstat -nao'명령을 실행할 수 있습니다. 여기서 포트 8000과 관련된 중요한 정보가있는 라인을 찾을 수 있습니다. 연결된 IP 주소는 0.0.0.0 또는 네트워킹 IP 주소 (192.168.0.X) 여야합니다. 로컬 호스트 또는 127.0.0.1은 패킷을 내부적으로 라우팅합니다.

WCF 클라이언트에서 네트워킹 문제에 대한 추가 연구를 위해 Wireshark 응용 프로그램 (www.wireshark.org)을 사용해 볼 수 있습니다.

+0

포트 8000을 포함하는 netstat -nao 결과가 표시되지 않았습니다.이 기능을 사용하려면 "netsh http add urlacl url = http : //192.168.0.10 : 8000/MyService/Service user = Kevin"명령을 실행했습니다. url. – Kevin

+0

netstat는 WCF 서버 컴퓨터에서 실행해야합니다. 포트 8000이없는 행이 없다면 WCF 서버에서 'telnet localhost 8000'명령을 실행하여 서비스가 시작되었는지 확인할 수 있습니다. – Damiox

0

몇 가지 시도해 볼 수 있습니다.

1) 클라이언트 시스템에서 1) 192.168.0.10 으로 ping 할 수 있는지 확인하십시오. 2) 또한 서버 시스템의 포트 8000이 HTTP 통신용으로 열려 있는지 확인해야합니다.

관련 문제