Bonjour Francois,

j'avais oublier que tu parlais francais:)

Merci pour les infos. Je vais changer BufSize pour 65535. j'ai besoin de 
faire les 2 ? ou juste Bufsize ?

merci

Jonathan
----- Original Message ----- 
From: "Francois PIETTE" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Wednesday, January 31, 2007 12:13 PM
Subject: Re: [twsocket] streaming video client/server application


>
> You should also set TWSocket own buffer size (Default to 1460).
> frmTestCarteDSPR->udpServer->BufSize = 65536;
>
>> maxlength = udpClient->RcvdCount;
>
> Do not rely on RcvdCount which - as Microsoft said - is not always 
> accurate.
> Just receive as much data as you can into your buffer. Normally since UDP 
> is
> a datagram service, you'll get complete datagrams at once.
>
> PS: On peut aussi me joindre sur le forum 
> news://news.delphinaute.be/delphi
> --
> Participez à l'effort SSL pour ICS. Visitez
> http://www.overbyte.be/eng/ssl.html
> --
> [EMAIL PROTECTED]
> Auteur du freeware ICS - Internet Component Suite
> Auteur du middleware multi-tiers MidWare
> http://www.overbyte.be
>
>
> ----- Original Message ----- 
> From: "Jonathan Dumaresq" <[EMAIL PROTECTED]>
> To: <twsocket@elists.org>
> Sent: Wednesday, January 31, 2007 5:13 PM
> Subject: [twsocket] streaming video client/server application
>
>
>> HI,
>>
>> I try to make a streaming video client server application using thr
>> TWsocket component.
>>
>> I think i have some probleme with handling all the data that is comming 
>> on
>> the client part. On my server part, I have a callback function that if
>> fired as soon as i have a video frame is ready. this card is a mpeg4
>> compressor card, so the data fram is variable. From 248 bytes to 30K or
>> 40K. So I send it in UDP. This server is a multi streaming server I can
>> stream up to 4 channel. since i have only 1 callback for all the channel 
>> i
>> can't do it in a thread (i think). So i do this every thime i received a
>> frame:
>>
>> I have put a TWsocket on the form.
>>
>>   frmTestCarteDSPR->udpServer->Proto = "udp";
>>   frmTestCarteDSPR->udpServer->Addr =
>> frmTestCarteDSPR->infoConnection[channelNum].ipAddr; // ip addr to the
>> remote host
>>   frmTestCarteDSPR->udpServer->Port =
>> frmTestCarteDSPR->infoConnection[channelNum].ipPort; // remote port
>>   frmTestCarteDSPR->udpServer->Connect();
>>   size = 65535;
>>   setsockopt(frmTestCarteDSPR->udpServer->HSocket, SOL_SOCKET , 
>> SO_SNDBUF,
>> (const char *)&size, sizeof(size)); // change the socket buffer to 65535
>>   frmTestCarteDSPR->udpServer->Send((unsigned char *)DataBuf,Length); //
>> send data
>>   frmTestCarteDSPR->udpServer->Close(); // close the socket
>>
>> I would like to know if this is a good way of doing it ??? is ther a
>> simple way or a better way of doing this ?
>>
>>
>> on the client part, i do this in the udpClientDataAvailable
>>
>> maxlength = udpClient->RcvdCount;
>> //debugStream << "data received = " << maxlength << endl;
>> frame = new uint8_t[maxlength];
>> while(byteread < maxlength)
>> {
>>  Len = udpClient->Receive(&frame[byteread],1460);
>>  byteread += Len;
>> }
>> // I continue the job for displaying the video.
>>
>> is there a better way of doing this ? is it possible to receive all the
>> data without looping ?
>>
>> regards
>>
>> Jonathan
>>
>> -- 
>> To unsubscribe or change your settings for TWSocket mailing list
>> please goto http://www.elists.org/mailman/listinfo/twsocket
>> Visit our website at http://www.overbyte.be
>
> -- 
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://www.elists.org/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be
> 

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to