From 3f62ab91a28c7bd7e79905351bc2b75e4525013d Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Tue, 24 Jan 2017 13:49:07 +0100 Subject: [PATCH 1/1] RFID_LISTEN=host:port to listen for TCP socket from reader --- lib/Biblio/RFID/Reader/Serial.pm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lib/Biblio/RFID/Reader/Serial.pm b/lib/Biblio/RFID/Reader/Serial.pm index 24432d5..b97be50 100644 --- a/lib/Biblio/RFID/Reader/Serial.pm +++ b/lib/Biblio/RFID/Reader/Serial.pm @@ -61,6 +61,29 @@ sub port { return $port; } + if ( my $listen = $ENV{RFID_LISTEN} ) { + my $server = Biblio::RFID::Reader::INET->new( + Proto => 'tcp', + LocalAddr => $listen, + Listen => SOMAXCONN, + Reuse => 1 + ); + + die "can't setup server $listen: $!" unless $server; + + warn "RFID: waiting for reader connection to $listen"; + + my $port = $server->accept(); + $port->autoflush(1); + + warn "## LISTEN $listen ", ref($port); + $self->{port} = $port; + $self->init; + + return $port; + + } + my $settings = $self->serial_settings; my @devices = $ENV{RFID_DEVICE} ? ( $ENV{RFID_DEVICE} ) : glob '/dev/ttyUSB* /dev/ttyS*'; warn "# port devices ",dump(@devices); -- 2.20.1