2009-03-07 7 views
1

서버에 연결하려면 내 서버가 필요합니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까? 또는 링크 자습서를 게시 할 수 있습니까?소켓 프로그램을 다시 시작하는 방법은 무엇입니까?

또한 다시 시작할 때 '클라이언트를 수락 할 수 없습니다.'라는 메시지가 나타나면 모든 것을 지우고 받아 들일 수 있습니까?

+0

서버는 일반적으로 서버에 연결하지 않습니다. 그리고 너무 많은 애매 모호한 것이 있습니다. 그것은 현재 두 번째 단락에 있습니다. 브라이언 본디 (Brian Bondy)가 좋은 조언을 제공 했음에도 불구하고 당신이 묻고있는 것을 명확하게 설명하십시오. –

답변

5

서버 코드 : 서버 측 코드에 대한

는 동의 전화를 포장 루프를 않습니다. 허용 된 소켓에 대해 새 스레드를 작성하면 다음 승인이 바로 호출됩니다.

서버를 시작할 때 SO_REUSEADDR 플래그를 사용할 수도 있습니다. 그렇게하면 충돌이 있거나 심지어 프로그램을 빠르게 다시 시작하면 서버가 문제없이 동일한 포트를 다시 사용할 수있게됩니다.

클라이언트 코드 : 클라이언트 코드 방금 소켓 오류를 확인하고이 발생하면 바로 새 연결을 설정 것이기

.

기타 리소스 :

다른 옵션 :

대신 일반 BSD 스타일의 소켓에, 당신은 또한 쉽게 소켓 프로그래밍에 대한 boost asio를 사용하여 시도 할 수 있습니다. 그들의 examples page을 확인할 수 있습니다.

관련 문제