🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #4798

Re: beetje hulp gezocht

#4798
From: Bart Vandewoestyne
Date: Sun, 13 Jul 2003 10:28
86 lines
4217 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,

ben misschien weer een beetje dichter bij de oplossing... ik heb 
namelijk het volgende ontdekt...

Als ik de linux client run met mms://stream04.pandora.be/stubrubreed 
merk ik in het begin telkens volgende interactie tussen client en server:

request1) client -> 232 bytes -> server

answer1) client <- 128 bytes <- server

request2) client -> 112 bytes -> server

answer2) client <- 80 bytes <- server

request3) client -> 82 bytes -> server

answer3) client <- 152 bytes <- server

... enzoverder

Nu heb ik ontdekt dat bij mijn windows port answer1 en answer2 een 
foutmelding geven.  answer1 komt dan blijkbaar pas op de plaats van 
answer3 in de Linux client... 2 answers 'verschoven' dus (omdat de 
eerste 2 receives op mijn socket mislukken en de data er dan nog zit, en 
die wordt dan pas uitgelezen als ik een receive doe die wel lukt).

De twee receives die mislukken zijn de eerste twee recv() calls in de main:

len = recv(s, data, BUF_SIZE, 0) ;
...
len = recv(s, data, BUF_SIZE, 0) ;


De error die ik krijg is error 10014 en op de msdn site blijkt dit te 
betekenen:

<quote>
Bad address.
The system detected an invalid pointer address in attempting to use a 
pointer argument of a call. This error occurs if an application passes 
an invalid pointer value, or if the length of the buffer is too small. 
For instance, if the length of an argument, which is a sockaddr 
structure, is smaller than the sizeof(sockaddr).
</quote>

Nu snap ik niet wat hier verkeerd gaat... die recv() calls zijn mijn 
vertalingen van de Linux code:

len = read (s, data, BUF_SIZE) ;
...
len = read (s, data, BUF_SIZE) ;


Veel echt speciale dingen gebeuren hier toch niet, right?  Nu dacht ik 
vanwege die error 10014 echter wel dat data misscihen te klein was voor 
BUF_SIZE, en inderdaad... als ik ga kijken hoe BUF_SIZE gedefinieerd is 
in de linux code, dan zie ik daar dat die op 102400 gedefinieerd staat, 
terwijl data slechts volgende grootte heeft:

char data[1024];

Vandaar dus waarschijnlijk de error... als snap ik dan niet waarom die 
read wel lukt in de linux code ???

Ik vraag me dus af of het geen fout is in de linux code dat die BUF_SIZE 
op 102400 in plaats van 1024 gedefinieerd staat... vandaar dat ik in 
mijn windows code hem eens veranderd heb naar 1024, en als ik dat doe, 
dan lukken die twee eerste receives wel, maar dan crasht het programma 
verderop...

Wie ziet hier raad?  De code die ik tot nu toe heb staat op:

http://mc303.studentenweb.org/downloads/mmsclient/

Greetzzz,
mc303
Technical Details
Message-ID: <3F11346A.5080500@pandora.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-01!sn-xit-09!supernews.com!news.maxwell.syr.edu!newsfeed.vmunix.org!aotearoa.belnet.be!naxos.belnet.be!news.belnet.be!not-for-mail
References: <3F10A588.7000205@pandora.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,fce18b96ed6a95ca
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-07-13 03:29:05 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-01!sn-xit-09!supernews.com!news.maxwell.syr.edu!newsfeed.vmunix.org!aotearoa.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: Sun, 13 Jul 2003 12:28:58 +0200
Organization: KULeuvenNet
Lines: 87
Message-ID: <3F11346A.5080500@pandora.be>
References: <3F10A588.7000205@pandora.be>
NNTP-Posting-Host: seven.kulnet.kuleuven.ac.be
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: naxos.belnet.be 1058092139 12339 134.58.127.12 (13 Jul 2003 10:28:59 GMT)
X-Complaints-To: abuse@belnet.be
NNTP-Posting-Date: Sun, 13 Jul 2003 10:28:59 +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/)