서버에 여러 개의 실제 UDP 스트림을 처리해야하는 상황이 있습니다. 을 처리하기 위해 각 클라이언트에 대해 1) 서버에서 단일 포트에서 청취와 동일한 포트에서 모든 클라이언트에서 데이터를 수신하고 생성 스레드 :다중 UDP 포트
나는 (내가 생각하는)
싱글 소켓 두 가지 옵션이 있습니다 클라이언트가 보내는 것을 멈출 때까지 데이터. 여기에서는 데이터를 처리하는 데 사용되는 데이터 및 스레드 수를 받기 위해 하나의 포트만 사용됩니다.
복수 소켓 : 2) 클라이언트는 서버에서 열린 포트를 요청하여 데이터를 보내고 응용 프로그램은 클라이언트에 열린 포트를 보내고 포트에서 수신하여 데이터를 처리하는 새 스레드를 엽니 다. 여기 각 클라이언트는 데이터를 전송할 고유 한 포트를 갖게됩니다.
이미 UDP에서 어떤 클라이언트로부터 오는 패킷인지 알 수있는 방법을 구현했습니다.
나는받는 클라이언트가 초당 1000 개 이상의 클라이언트와 60KB입니다.
는 위의 방법를 사용하여 성능 문제가 아니면 C에서 이러한 유형의 작업을 처리 할 수있는 효율적인 방법은 여기인가? 클라이언트 당 하나 개의 스레드를 가지고
감사합니다,
라구 많은 고객과