Skip Menu |

This queue is for tickets about the POE CPAN distribution.

Report information
The Basics
Id: 18991
Status: rejected
Priority: 0/
Queue: POE

People
Owner: Nobody in particular
Requestors: liphtier [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: POE::Component::Client::TCP + GTK2 + Win32 problem
Date: Sun, 30 Apr 2006 11:49:57 +0300
To: poe [...] perl.org
From: ShurV <liphtier [...] gmail.com>
This script is simple client example The problem : This script works fine in Linux But On Windows it connects and reads nothing (doesn't print to STDOUT and doesn't display in UI) from server the simple server demo sends a Greeting Banner and current time Linux Perl v5.8.6 built for i386-linux-thread-multi POE 0.3301 Gtk2 1.062 Glib 1.120 Win32 Perl v5.8.7 built for MSWin32-x86-multi-thread POE 0.3401 Gtk2, Glib 1.100 #! /usr/bin/perl -w use strict; use Gtk2 -init; use Socket; use POE qw(Component::Client::TCP); use POE::Kernel { loop => "Glib" }; my $session = POE::Session->create ( inline_states => { _start => \&ui_start, ev_connect => \&Tconnect, ev_error => \&server_error } ); $poe_kernel->run(); sub ui_start { my ( $kernel, $session, $heap ) = @_[ KERNEL, SESSION, HEAP ]; Gtk2::Widget->set_default_direction("ltr"); my $window = Gtk2::Window->new( 'toplevel' ); $heap->{main_window} = $window; $kernel->signal_ui_destroy( $heap->{main_window} ); $window->set_border_width(10); $window->move(100, 50); #$window->set_size_request(800, 600); $window->set_title("POE TCP client on W32"); $window->signal_connect('delete_event', sub {exit;}); my $vbox = new Gtk2::VBox(0, 0); $window->add( $vbox ); my $textview = new Gtk2::TextView();# $textview->set_size_request(150, 150); $textview->set_editable( 1 ); $textview->set_wrap_mode ('char'); my $textbuff = $textview->get_buffer(); my $connbutton = new Gtk2::Button("Connect"); $connbutton->signal_connect( "clicked", $session->postback('ev_connect', {textbuff=>$textbuff})); my $sendbutton = new Gtk2::Button("Send !"); $sendbutton->signal_connect( "clicked", $session->postback ('ev_send')); $vbox->pack_start( $textview, 0, 0, 2 ); # expand, fill, padding $vbox->pack_start( $connbutton, 0, 0, 2 ); # expand, fill, padding $vbox->pack_start( $sendbutton, 0, 0, 2 ); # expand, fill, padding $window->show_all(); } sub Tconnect { my @data = @{$_[ARG0]}; my $textbuff = $data[0]{'textbuff'}; my $host = "127.0.0.1"; my $port = "12345"; print "Connecting...\n"; POE::Component::Client::TCP->new ( RemoteAddress => $host, RemotePort => $port, Domain => AF_INET, # Optional. ServerInput => sub { my $input = $_[ARG0]; print "from server: $input\n"; $textbuff->insert_at_cursor("from server: $input\n"); } ); print "Connected\n"; print "Reading\n"; return 1; } sub server_error { print "Server Error\n"; exit; }
Which Perl distribution are you using? ActivePerl, Vanilla, Strawberry, Cygwin, ... ? I tried the latest ActivePerl, and there doesn't seem to be a PPM repository with Glib and Gtk2. Basically I need to reproduce the test environment with the latest of everything to duplicate the problem. Otherwise I can't fix anything. -- Rocco On Sun Apr 30 10:57:02 2006, liphtier@gmail.com wrote: Show quoted text
> > > This script is simple client example > The problem : > This script works fine in Linux > But On Windows it connects and reads nothing (doesn't print to STDOUT > and doesn't display in UI) from server > the simple server demo sends a Greeting Banner and current time > > Linux > Perl v5.8.6 built for i386-linux-thread-multi > POE 0.3301 > Gtk2 1.062 > Glib 1.120 > > > Win32 > Perl v5.8.7 built for MSWin32-x86-multi-thread > POE 0.3401 > Gtk2, Glib 1.100
No followup from reporter.