Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: websocket infinit loop

by huck (Prior)
on Dec 13, 2016 at 02:12 UTC ( [id://1177681]=note: print w/replies, xml ) Need Help??


in reply to websocket infinit loop

While you have told us what you have "done", you have neglected to tell us what has then happened.

have you seen that the script progresses past # Here the script and server will exchange information few times ? What happens inside dosomething() and dosomething2(); There are people that will tell you not to use &sub to call a subroutine because of what happens to the parms list but i am sortof concerned that neither has any parms that you supply. i would expect then that they would start with something like my $buf; my $rv = sysread($net, $buf, 64*1024, length($buf)); and my $buf; my $rv = sysread($server, $buf, 64*1024, length($buf)); Since i dont see any use warnings; use strict; i expect you are assuming that $net and $server are globals and are available to those subs

also after the $rv=sysread you should have some sort of test like

if (!$rv) { if (defined($rv)) { # eof state, remove from io::select; } else { # error state, remove from io::select; } } else { # process $buf; }

I should also point out that 0.05 is rather short for the timeout, since can_read will block until it has something you can read. with the very short timeout while(1) will loop with nothing to do a LOT

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (5)
As of 2024-04-25 14:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found