2012-11-25 8 views
1

나는 클라이언트가있다 & 서버 C# 프로그램. 클라이언트 (연결을받는 사람). 서버 (클라이언트에 연결하는 사람)입니다.클라이언트가 열리지 않고 서버가 연결되어있을 때 연결을 유지하는 방법은 무엇입니까?

서버를 열면 전자 메일과 주소가있는 고객 (서버)이 클라이언트 창에 나타납니다. 하지만 클라이언트를 닫았다가 다시 열면 연결이 해제되고 고객이 서버를 닫은 다음 다시 열어야합니다.

고객에게 서버를 닫았다가 다시 열지 않고 연결을 유지하려면 어떻게해야합니까? TCP 연결과 scoket을 사용하고 있습니다.

+2

프로그램을 닫을 때 클라이언트가 연결을 닫는 이유는 무엇입니까? 또한 일반적으로 클라이언트는 연결을 수행하고 서버는 새 연결을 수신하기 위해 수신 대기합니다. 네가 무엇을 요구하는지 모르겠다. – rutgersmike

+0

연결이 있으면 서버와 클라이언트가 연결됩니다. 나는 한쪽이 어떻게 열릴 수 있는지 이해하지 못한다. – Oded

+0

서버를 열고 그 후에 클라이언트를 엽니 다. 서버가 클라이언트에 표시되지 않습니다. 하지만 먼저 클라이언트를 연 다음 서버를 열면 서버가 나타납니다. –

답변

0

"클라이언트"가 온라인 상태가 아닌 경우에 대한 오류 처리와 함께 지연 연결 초기화가이 솔루션에 사용되었을 수 있습니다.

초기화를 처리하고 연결을 초기화 할 수없는 경우 오류 처리로 모든 작업을 래핑 할 수있는 연결에 대한 래퍼를 만들 수 있습니다.

WCF는 이것에 대한 좋은 추상화 계층이지만 너무 무거울 수 있으며 학습 곡선이 매우 빡빡합니다. 특히 프로젝트의 setup/config 부분이 좋습니다.

또한 이미 언급했듯이 클라이언트는 클라이언트/서버 디자인의 일부로 클라이언트가 일종의 로그인/가입 메시지로 통신을 초기화하지만 다른 방법으로는 초기화하지 않기 때문에 여기에도 문제가 해결됩니다. .

관련 문제