C# System.Net.Sockets размер пакета

apxx

 
mcastSocket = new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
mcastAddress = IPAddress.Parse("233.33.210.86");
mcastPort = 5050;
IPAddress localIPAddr = IPAddress.Parse("192.168.1.88")
EndPoint localEP = (EndPoint)new IPEndPoint(localIPAddr, mcastPort);
mcastSocket.Bind(localEP);
mcastOption = new MulticastOption(mcastAddress, localIPAddr);
mcastSocket.SetSocketOption(SocketOptionLevel.IP,SocketOptionName.AddMembership,mcastOption);
byte[] bytes = new Byte[1500];
IPEndPoint groupEP = new IPEndPoint(mcastAddress, mcastPort);
EndPoint remoteEP = (EndPoint)new IPEndPoint(IPAddress.Any, 0);
mcastSocket.ReceiveFrom(bytes, ref remoteEP);

Так вот, тут мне возвращается чистый RTP пакет. Буфер я ставлю на 1500 ибо точно меньше не будет.
Задача в том чтоб мне корректно работать с полученным пакетом, мне нужно знать его размер. Протокол RTP не подразумевает в шапке указания сколько в теле байтов. Ну и если я буду юзать не RTP а видео в чистом виде UDP, то мне точно нужно знать размер пакета.
Где можно найти размер? В теории это в нижнем уровне есть (в данном примере в шапке UDP). Но вот как добраться до сведений нижележащих протоколов..

Dasar

Где можно найти размер?
ReceiveFrom возвращает длину, как результат

apxx

кхе, я дебил. Вот как раз на саму ReceiveFrom не посмотрел...
Возвращаемое значение
Тип: System.Int32
Число полученных байтов.

спс
Оставить комментарий
Имя или ник:
Комментарий: