Article View: be.comp.programming
Article #4812Re: beetje hulp gezocht
From: Bart Vandewoestyne
Date: Mon, 14 Jul 2003 12:02
Date: Mon, 14 Jul 2003 12:02
83 lines
3510 bytes
3510 bytes
Bart Vandewoestyne wrote:
>
> Ben momenteel bezig met het porten van mmsclient
> (http://www.geocities.com/majormms/) naar windows. Ik ben op een punt
> gekomen dat ik *iets* van stream downloadt, en dat dat weggeschreven
> wordt naar een file, maar als ik die file dan probeer te openen in
> Windows Media Player krijg ik de boodschap dat de file corrupt is.
Bon, misschien heb ik er een idee van waar de fout zou kunnen zitten...
volgens mij gaat het ergens fout in de get_data() methode. In de Linux
client ziet die er zo uit:
static int get_data (int s, char *buf, size_t count) {
ssize_t len, total;
total = 0;
while (total < count) {
len = read (s, &buf[total], count-total);
if (len<0) {
perror ("read error:");
return 0;
}
total += len;
if (len != 0) {
printf ("[%d/%d]", total, count);
fflush (stdout);
}
}
return 1;
}
Ik heb ze als volgt vertaald naar windows:
static int get_data (int s, char *buf, unsigned int count) {
unsigned int len, total;
total = 0;
while (total < count) { /* while we don't have all data yet... */
len = recv(s, &buf[total], count-total, 0); /* receive the rest for
as much as we can
get */
if (len<0) {
perror ("read error in get_data():");
return 0;
}
/* increase the number indicating how much we've read */
total += len;
if (len != 0) {
/* print out how much we've read already */
printf ("[%d/%d]", total, count);
fflush (stdout);
}
}
return 1;
}
Ik vermoed dat het ergens zit in het feit dat ik die read vervangen heb
dor een recv... en dat die parameters niet hetzelfde mogen
ge�nterpreteerd worden... zo zou bij recv() de derde parameter de lengte
van de buffer moemten zijn... en bij read is dat 'het aantal bytes dat
je wil lezen'... ik zou hier vermoeden dat het in feite toch op
hetzelfde neerkomt... maar ik zie niet in waar het fout gaat...
Ziet iemand hier iets merkwaardigs?
De volledige source staat op
http://mc303.studentenweb.org/downloads/mmsclient/
Greetzzz,
mc -puzzled here- 303
Technical Details
Message-ID:
<3F129BBF.60203@pandora.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.icl.net!newsfeed.fjserv.net!syros.belnet.be!naxos.belnet.be!news.belnet.be!not-for-mailReferences:
<3F10A588.7000205@pandora.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII X-Google-Thread: fcea4,fce18b96ed6a95ca X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2003-07-14 05:02:10 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.icl.net!newsfeed.fjserv.net!syros.belnet.be!naxos.belnet.be!news.belnet.be!not-for-mail From: Bart Vandewoestyne <Bart.VandewoestyneNOSPAM@pandora.be> Newsgroups: be.comp.programming Subject: Re: beetje hulp gezocht Date: Mon, 14 Jul 2003 14:02:07 +0200 Organization: KULeuvenNet Lines: 84 Message-ID: <3F129BBF.60203@pandora.be> References: <3F10A588.7000205@pandora.be> NNTP-Posting-Host: seven.kulnet.kuleuven.ac.be Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: naxos.belnet.be 1058184128 7358 134.58.127.12 (14 Jul 2003 12:02:08 GMT) X-Complaints-To: abuse@belnet.be NNTP-Posting-Date: Mon, 14 Jul 2003 12:02:08 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows; U; WinNT; en; rv:1.0.2) Gecko/20030311 Beonex/0.8.2-stable X-Accept-Language: en-us, en Cache-Post-Path: seven.kulnet.kuleuven.ac.be!unknown@localhost X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/)