2013-02-21 1 views
0

udp 소켓을 사용하는 화상 채팅 응용 프로그램에서 작동하고 있습니다.iam은 크기가 큰 원본 오디오 데이터를 캡처 할 수 있습니다. 채팅 응용 프로그램이므로이 오디오 데이터를 계속 전송할 수 있어야합니다.udp 소켓을 사용하여 오디오 데이터를 수동으로 보내는 방법

문제는이 오디오 데이터가 너무 커서 소켓 mtu가이 데이터를 전송할 수 없다는 것입니다.

나는이 데이터를 분리하여 소켓을 통해 전송하고 다른 끝에 캡처하여 음성 데이터를 생성하는 방법을 찾아 냈습니다. UDP으로 UDP 소켓

답변

1

를 사용하는 방법 는 전송 순서와 손실 된 패킷 (UDP 부여하지 않습니다 (UDP datagram이 번호 1UDP datagram번호 2AFTER을 수신 할 수있는 것)의 스스로 알아서해야 나를 인도 해주십시오 데이터 그램 전달)

패킷 순서가 중요한 큰 크기의 전송에는 TCP을 사용해야합니다.

MTU에 대해 보내려는 데이터의 크기보다 작 으면 신경 쓸 필요가 없습니다. OS가 조각 모음을 실행합니다.

데이터가 완전히 전송 될 때까지 블록 64k 블록 (최대호출에 허용되는 최대 크기)으로 데이터를 분할하면됩니다.

+0

감사합니다. Davide Berra. 전송 순서 및 손실 된 패킷을 수행하는 방법에 대한 예제 링크를 제공 할 수 있습니까? – Kasi

+0

C 언어로 프로그래밍한다고 가정합니다. [소켓 튜토리얼 - TCP] (http://www.linuxhowtos.org/C_C++/socket.htm) –

+0

고마워요, 전 바이트의 배열을 보내고 크기 64K의 C# udp 소켓, 아무 예외없이 보낼 수 있지만 수신기 소켓 데이터를 얻을 수 없습니다. 나는 아무것도 없어? – Kasi

관련 문제