Thread IO::Socket - Probleme: Chipkarte üer IO::Socket auslesen (1 answers)
Opened by schmiedi at 2007-01-01 15:17

schmiedi
 2007-01-01 15:17
#72837 #72837
User since
2007-01-01
1 Artikel
BenutzerIn
[Homepage] [default_avatar]
hallo zusammen,

ich habe ein problem mit der socket-verbindung von meinem clien (pc) zu meinem kartenleser (server):

der kartenleser hat ein display worauf ich auch mit dem client schreiben kann - hier antwortet mir auch der server mit "ok" wenn er die nachricht empfangen hat.
lege ich jetzt die chipkarte an das lesegerät, so bleibt die socket verbindung hängen.
lege ich doch zuvor die karte an dem sensor und starte das programm so bekomme ich auch die katennummer übermittelt.

habt ihr eine idee?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl
use strict;
use IO::Socket;

my $x = 1;

my $sock = IO::Socket::INET->new( PeerAddr => '192.168.156.10',
PeerPort => 10001,
Proto => 'tcp' )
or die "konnte verbindung nicht aufbauen: $@\n";
my $answer = "ok";

my $message = chr(2) . "T3" . "Schreibe auf Display" . chr(4);

print $sock "$message";

while($x)
{
$x++;
print "Antwort 1 $answer\n";
print "sende text\n";
$message = chr(2) . "T3" . "Schreibe zum $x mal" . chr(4);
print $sock "$message"; #senden des strings

$answer = <$sock>;
print "Antwort 2" . $answer . "\n";
if ($answer =~ m/R09/)
{
$message = chr(4); #sende nachricht empfangen
print $sock "$message";
$message = chr(2) . "O210" . chr(4); #sende akustisches signal
print $sock "$message";
print "Karte erkannt\n";
}
print $x . "-" . $answer;

sleep 1;
}

View full thread IO::Socket - Probleme: Chipkarte üer IO::Socket auslesen