From 73be26bbf5b2c3fbd642f531be3b7d60a2bcd606 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Sun, 24 Feb 2019 11:21:47 +0100 Subject: [PATCH] fix connection end .END/.DONE --- terminal-emulator.pl | 11 +---------- terminal-server.pl | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/terminal-emulator.pl b/terminal-emulator.pl index e4ee9a1..9a91ede 100755 --- a/terminal-emulator.pl +++ b/terminal-emulator.pl @@ -39,15 +39,6 @@ my @send_receive = grep { /^.+$/ } split(/\n/, q{ .NOP .NOP -.NOP -.NOP - -.NOP -.NOP - -.NOP -.NOP - .END }); @@ -62,7 +53,7 @@ while ( @send_receive ) { $got =~ s/[\r\n]+$//; warn "# send/expect/got ",dump($send,$expect,$got); warn "<< $got\n"; - if ( $expect ne substr($got,0,length($expect)) ) { + if ( defined $got && defined $expect && $expect ne substr($got,0,length($expect)) ) { warn "ERROR expected [$expect] got [$got]\n"; print "Response>"; my $r = ; chomp $r; diff --git a/terminal-server.pl b/terminal-server.pl index 6d86992..992768e 100755 --- a/terminal-server.pl +++ b/terminal-server.pl @@ -1,6 +1,7 @@ #!/usr/bin/perl use warnings; use strict; +use autodie; use Data::Dump qw(dump); @@ -60,8 +61,12 @@ while(1) { $line = <$client_socket>; } - $line =~ s/[\r\n]+$//; - warn "<< $line\n"; + if ( defined $line ) { + $line =~ s/[\r\n]+$//; + warn "<< $line\n"; + } else { + warn "<< [NULL] connected: ",dump($client_socket), $client_socket->connected; + } return $line; } @@ -135,18 +140,15 @@ while(1) { $next_nop_t = time() + 5; # NOP every 5s? } elsif ( $line =~ m/^\.END/ ) { client_send ".DONE BLK WAIT"; - client_send ".NOP"; - my $nop = client_line; - client_send ".DONE $total_pages ".credit($total_charged); - warn "expected NOP got: $nop" unless $nop =~ m/NOP/; - my $null = client_line; $client_socket->close; - } else { + } elsif (defined $line) { warn "UNKNOWN: ",dump($line); print "Response>"; my $r = ; chomp $r; client_send $r; + } else { + warn "NULL line, connected ", $client_socket->connected; } } warn "# return to accept"; -- 2.20.1