몇 가지 자동화 된 테스트를 수행하여 전송 계층이 올바르게 작동하는지 확인하고 싶습니다. 문제는 비동기 UDP 소켓을 사용하고 콜백이 호출되기 전에 테스트가 완료된다는 것입니다. 몇 바이트를 보내는 것과 같은 기본 시나리오를 테스트하고 다른 쪽에서 제대로 수신되었는지 테스트하고 싶습니다.자동화 된 비동기 소켓 테스트
질문 : 비동기 소켓으로 테스트를 자동화하는 가장 효과적인 방법은 무엇입니까?
몇 가지 자동화 된 테스트를 수행하여 전송 계층이 올바르게 작동하는지 확인하고 싶습니다. 문제는 비동기 UDP 소켓을 사용하고 콜백이 호출되기 전에 테스트가 완료된다는 것입니다. 몇 바이트를 보내는 것과 같은 기본 시나리오를 테스트하고 다른 쪽에서 제대로 수신되었는지 테스트하고 싶습니다.자동화 된 비동기 소켓 테스트
질문 : 비동기 소켓으로 테스트를 자동화하는 가장 효과적인 방법은 무엇입니까?
데이터 전달이 다른 스레드에서 발생하기 때문에 수신 콜백에서 알림을 기다리는 테스트를 차단해야합니다. 아마도 타임 아웃이 필요합니다.
비동기 소켓이란 무엇입니까? 비동기 프로그래밍 모델 사용하기
트랜스 포트 계층을 테스트하려면 비동기 소켓에 집중하지 말고 집중적으로 테스트해야합니다.
전송 계층을 테스트하기 위해 두 개의 스레드에서 두 개의 소켓으로 테스트 할 수 있습니다. 하나의 스레드 읽기, 하나의 쓰기. 귀하의 프로토콜이 이미 핑 메시지를 지원한다고 가정합니다.
데이터 수신에 Socket.BeginReceiveFrom을 사용합니다. 내가 가진 문제 중 하나는 BeginReceiveFrom 콜백이 호출되기 전에 테스트 함수가 종료된다는 것입니다. – plmaheu
내가 한 것은 실제로 우아하지는 않지만 작동합니다. 내 모의 테스트에서 Verify()를 호출하기 전의 간단한 수면 (2000)이 트릭을 만들었습니다. 감사! – plmaheu