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

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Hello,

Unfortunately there is no easy fix for your problem. The issue is that the Windows GUI expects you to pass it control at regular intervals when you're in a loop using:

Win32::GUI::DoEvents();

However, because you're using Net::Telnet and it's waitfor method, you've handed over control and blocked your entire program until the matching text is detected. Thus everything in your program blocks and your GUI freezes.

For more information see the Win32::GUI faq

You have many options. One is to go through the gymnastics of running the telnet portion of your code in a thread and reading output from it in a loop that calls DoEvents. Or you could just grab a copy of Net::Telnet and modify it to do that internally

Short of developing your own network and telnet code, a wrapper around each blocking call to the Telnet module may be the easiest answer. It could generate and trap and alarm if the code takes too long. If the alarm fires, call DoEvents() and then restart the Telnet operation.

No guarantees that would work of course. It may introduce some subtle timing problems. Would be much cleaner to find an Asynchronous Telnet module to use,or bite the bullet and write your own networking code that doesn't block.


In reply to Re: Problem with win32::GUI using telnet by Loops
in thread Reaped: Problem with win32::GUI using telnet by NodeReaper

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2024-04-18 00:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found