Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Tk with thread and stram data

by tybalt89 (Prior)
on Dec 24, 2020 at 00:47 UTC ( #11125702=note: print w/replies, xml ) Need Help??


in reply to Tk with thread and stram data

I don't have Windows, so good luck trying this. It does work on an ArchLinux system, that is, if I correctly understand what you are trying to do.

#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11125685 use warnings; use Tk; use IO::Socket; my $listen = new IO::Socket::INET ( LocalHost => '127.0.0.1', LocalPort => '23456', Proto => 'tcp', Listen => 5, Reuse => 1 ) or die "cannot create listen socket $@\n"; warn "server waiting for client connection on port 23456 \n"; my $val = 0; my $client; my $mw = MainWindow->new(); my $label = $mw->Label( -width => 50, -textvariable => \$val,)->pack() +; my $button; $button = $mw->Button( -text => 'Stop input', -command => sub { $button->configure(-state=>'disabled'); close $client; close $listen; }, )->pack(); $mw->fileevent( $listen, 'readable', \&newcon ); MainLoop; sub newcon { $client = $listen->accept; $mw->fileevent($client, 'readable', \&getdata ); } sub getdata { if( sysread $client, my $buf, 1024 ) { warn "received data: $buf\n"; $val = $buf =~ tr/\n//dr; $client->send('ok'); # write response data to the connected client shutdown($client, 1); # notify client that response has been sent } else { close $client; } }

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2021-02-27 03:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?