UDP 데이터 패킷을 1 ... N 개의 주소 (종종 멀티 캐스트)로 보내는 기존 응용 프로그램에서 인프라의 일부를 재 작업합니다. 현재 T 송신기 개체가 있다고 가정하고, 어떤 경우에는 모든 송신기가 동일한 주소로 전송하고 있습니다.동일한 주소로 UDP 패킷을 전송할 때의 효율성
예제를 간단하게 제공하고 예를 들어 3 개의 송신기 개체가 있고 하나의 특정 주소로 보낼 필요가 있다고 가정 해 보겠습니다. 내 질문은 ... 어느 쪽이 더 효율적입니까? :
옵션 1) 단일 소켓 주위에 뮤텍스를 넣고 모든 송신기 (T)가 동일한 소켓을 공유하도록하십시오.
T----\
T----->Socket
T----/
옵션 2) 3 개의 별도 소켓을 사용하십시오. 모두 동일한 위치로 전송하십시오.
T----->Socket 1
T----->Socket 2
T----->Socket 3
나는, 옵션 2는 아마 옵션 1과는 다른 훨씬 아닌 큰 그림에, 그래서 두 번째 옵션으로, 후드, OS 나 NIC가 최종 전송 주위에 뮤텍스를두고 있다고 생각한다.
내 개발 PC에서 다음 주에 실험을 설정 하겠지만 사용자가 설치할 수있는 모든 잠재적 인 컴퓨터 구성을 테스트 할 수있는 방법은 없습니다. 또한 다른 구현 - Windows vs Linux, 다른 NIC 칩셋 제조업체 등이 있음을 알고 있습니다.하지만 누군가가 과거의 경험이나 아키텍처 지식을 가지고있어 다른 옵션보다 한 가지 옵션을 활용할 수 있는지 궁금합니다.
감사합니다.
UDP는 연결이없고 UDP 데이터 그램은 자체 포함 네트워크 패킷입니다. 단일 소켓에 대한 액세스를 수동으로 직렬화해도 아무런 이점이 없습니다. 네트워킹 스택은 실제로 전송 중에 직렬화를 처리합니다. 나는 각 송신기가 자체 소켓을 사용하도록하고 그들로 하여금 폭발 시키도록 할 것이다. –