2011-08-16 3 views
1

원격 서버가 모든 클라이언트의 호출을 수락했지만 그 중 일부에만 응답하는 것으로 나타났습니다. 모든 클라이언트에서 동일한 호스트 & IP를 텔넷 할 수 있습니다.WCF : 서버 측에서 서비스 응답 없음

서버 측에 중단 점을 설정했지만 불운 한 클라이언트에서 연결 한 경우 절대로 트랩되지 않습니다.

또 다른 단서; 난 단지 호스트 이름 대신 IP 주소를 사용하는 경우 I는 응답을 얻을 수 있습니다 :

C : \ NET> Hello.exe RemoteServer는 1333

응답이 없습니다

C : \ NET> Hello.exe 192.168. 서비스에서 35.211 1333

응답 : 서버 v3.32

당신 수도 것은 그것이 바인딩 관련있어하지만 여기에 또 다른 증상이다 :

A 클라이언트

C : 서비스에서 \ NET> Hello.exe 192.168.35.211 1333

응답 : 서버 v3.32

클라이언트 B

C : \ NET> Hello.exe 192.16 8.35.211 1333

응답이 없습니다

당신은 매우 이상한 외모와 나는 완전히 잃었어요시피.

이것은 클라이언트 프로젝트의 페이스트 빈 코드 : Hello.cs

그리고 이것은 서버의 관련 섹션 : Server.cs

왜 클라이언트를 서버 "선택"는 무엇입니까? 이유는 무엇입니까?

+0

기회는 엔드 포인트가 구성되는 방법입니다. 서버가 IP만을 허용하도록 설정되었거나 IP 끝점을 하드 코딩하고 요청에서 명시 적으로 일치하는지 확인하십시오. 편집 : [''] (http://msdn.microsoft.com/en-us/library/ee816894.aspx)와 서비스를 바인딩하는 방법''를 살펴보십시오. –

+0

@Nime Cloud 기꺼이 해결할 수 있습니다. 답변을 답장으로 추가하면 다른 사람들이 해결되었음을 알 수 있습니다. – Koen

답변

3

UPDATE

OK, 나는 서비스를 호출하는 동안, 클라이언트 측에서 오류를 트랩 :

서버가 클라이언트 자격 증명을 거부했습니다.

그리고 솔루션

:

NetTcpBinding tcpBind = new NetTcpBinding(); 
    tcpBind.Security.Mode = SecurityMode.None;