2016-08-19 2 views
-2

클라이언트 - 서버 응용 프로그램을 3 라운드로 구성했습니다. 각 라운드에서 클라이언트는 서버로 파일을 보내고 서버는 sth를 계산하여 클라이언트로 다시 보냅니다. 수신 된 메시지를 기반으로하는 클라이언트가 다음 라운드 등을위한 메시지를 준비합니다.소켓 프로그래밍 파이썬 동기화

때때로 애플리케이션이 가끔씩 원활하게 작동합니다. 문제는 라운드 간의 동기화가 부족한 것 같습니다. 예를 들어 클라이언트가 두 번째 라운드에서 메시지를 보내기 전에 서버는 이미 두 번째 라운드를 시작하여 문제가 발생합니다.

소켓 및 ThreadedTCPHandler와 별도로 네트워킹 용 모듈을 사용하지 않습니다. 어떻게하면 다른 네트워크 엔터티가 데드락을 만들지 않고 실행을 시작하기 전에 메시지를 보낼 때까지 기다릴 수 있습니까?

답변

0

과 그 파이썬 클라이언트 pyzmq을 살펴보십시오. 클라이언트/서버 또는 분산 응용 프로그램을 작성하는 좀 더 쉬운 방법을 제공합니다.

+0

감사합니다. 나는 한 번 보겠습니다. 잠시 문제가 해결 된 것 같습니다. 잠시 조정하십시오. – curious