Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

RE: RE: RE: MP3 server with IO::Socket

by Anonymous Monk
on May 21, 2000 at 09:43 UTC ( #13990=note: print w/ replies, xml ) Need Help??


in reply to RE: RE: MP3 server with IO::Socket
in thread MP3 server with IO::Socket

It's printing out the song, and it's sending it to the port, but it's cycling through songs VERY fast.


Comment on RE: RE: RE: MP3 server with IO::Socket
RE(4): MP3 server with IO::Socket
by perlmonkey (Hermit) on May 22, 2000 at 10:00 UTC
    Well if you telnet to the port and it is printing the binary to the screen, then the server works. That is all it does. The whole purpose is to print binary to the socket. I would bet that the problem lies in your mp3 player, what player are you using and what OS are you using. I have been using this server in some form or another for about a year now, so I nearly positive that the problems you are having are not related to the server code (unless they are OS specific, in which case I probably cant help). But if you can track down the problems and the cause does lay in my code, then let me know and I will make the corrections.
      Hi folks, I've been experiencing the same problem that was reported earlier ("it seems to be going very fast"). I'm on Win32 (both NT4 and Win2k) and played around with the script for a while before figuring out a fix. It looks like a:
      BINMODE(SONG);
      fixes all. I also took out the forking-ness of the server, just to simplify the debug process, but I'm sure that's OK. With the fix in place, the code segment now looks like this:
      <text cut> ... #what song are we playing warn( "play song: $song\n"); #open the song, or continue to try another one open (SONG, $song) || next; #### NEW CODE #### binmode (SONG); #### END NEW CODE #### my $read_status = 1; my $print_status = 1; my $chunk; .... <end cut>
      I think this fix suggests that somewhere in the MP3's being streamed, read() was encountering what it thought was an EOF, where in fact it was misinterpreting the data. Am I right? (I guessed at binmode, read the cookbook, then understood)

      Hope this helps,

      Brainiac
        Thanks for the debugging!
        I dont use windows, so I never think about binmode.
        That routine doesnt hurt on unix, so I will add it into
        the server code for all to use.
        -perlmonkey

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://13990]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (8)
As of 2014-10-22 01:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (112 votes), past polls