Schrift
[thread]8615[/thread]

IO::Socket - Probleme: Chipkarte üer IO::Socket auslesen

Leser: 1


<< >> 2 Einträge, 1 Seite
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;
}
esskar
 2007-01-01 18:07
#72838 #72838
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
versuch mal mit select zu prüfen, ob du vom socket lesen kannst oder nicht!
<< >> 2 Einträge, 1 Seite



View all threads created 2007-01-01 15:17.