Hello Jonathan, > est-ce que je peut le faire aussi du coté Client ?
Yes also the client part. If you do not you will not receive sutch large datagram at once. --- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz Wednesday, January 31, 2007, 19:26, Jonathan Dumaresq wrote: > est-ce que je peut le faire aussi du coté Client ? > udpClient->Proto = "udp"; > udpClient->Port = 6001; > udpClient->Addr = "0.0.0.0"; > int32_t size; > size = 65535; > udpClient->Listen(); > udpClient->BufSize = 65535; > setsockopt(udpClient->HSocket, SOL_SOCKET , SO_RCVBUF, (const char *)&size, > sizeof(size)); > ????? > Jonathan > ----- Original Message ----- > From: "Francois PIETTE" <[EMAIL PROTECTED]> > To: "ICS support mailing" <[email protected]> > 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: <[email protected]> >> 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
