Anzeige: united-domains - Die ganze Welt der Domains
Einfache & schnelle Domain-Registrierung zu fairen Preisen ohne Einrichtungsgebühren. Mehr als 250 Domain-Endungen aus einer Hand inklusive E-Mail- & Web-Weiterleitung. Einzigartiges Domain-Portfolio zur bequemen & sicheren Verwaltung Ihrer Domain-Namen.
Jetzt Domain-Check bei united-domains!
Socket Problem
Autor: perli [Beiträge: 1]
Datum: 03.02.2009 10:20:20
Hallo,
ich habe ein KNX/EIB Bussystem, mit dem ich über Sockets kommunizieren kann.
Unter Excel habe ich dies auch schon hinbekommen, jedoch unter Perl klappt es nicht.
Ich kann zwar eine Verbindung zu dem KNX Server (BAOS770) aufbauen, aber wenn ich die Daten zum Licht einschalten sende, funktioniert es nicht.
Ich vermute, daß es an der Art des Sendens liegt (es müßte eine Art ByteArray sein). Ich habe auch schon recht viel im Internet gesucht, aber leider keine Lösung gefunden.
Hier der NICHT funktionierende Excel Makro Coede:
[code]
...Verbindung aufbauen...
Client.SendData &HF0
Client.SendData &H6
Client.SendData &H3
Client.SendData &H1
Client.SendData &H3
Client.SendData &H31
Client.SendData &H0
DoEvents 
[/code]
----------------------------------------------------
Hier der funktionierende Excel Makro Code:
[code]
...Verbindung aufbauen...
Dim byteArray(7) As Byte
byteArray(0) = &HF0
byteArray(1) = &H6
byteArray(2) = &H3
byteArray(3) = &H1
byteArray(4) = &H3
byteArray(5) = &H31
byteArray(6) = &H0
Client.SendData byteArray()
DoEvents
[/code]
Hier die verschiedenen Perl Tests (die auskommentierten Bereiche haben auch nicht funktioniert):
[code]
#!/usr/bin/perl -w
use strict;
use IO::Socket;
my @tele;
#push(@tele, 0xF0);
#push(@tele, 0x06);
#push(@tele, 0x03);
#push(@tele, 0x01);
#push(@tele, 0x03);
#push(@tele, 0x31);
#push(@tele, 0x0);
push(@tele, hex(0xF0));
push(@tele, hex(0x06));
push(@tele, hex(0x03));
push(@tele, hex(0x01));
push(@tele, hex(0x03));
push(@tele, hex(0x31));
push(@tele, hex(0x0));
 
my $bytearray = pack("H", 0xF0, 0x06, 0x03, 0x01, 0x03, 0x31, 0x0);
#Daten schreiben in Datenspeicher-Server
my $ip = 'http://192.168.1.11';
my $port = 12004;
my $socket = new IO::Socket::INET (
  PeerAddr => $ip,
  PeerPort => $port,
  Proto=> "tcp",
  Type => SOCK_STREAM,
);
die "Keine Verbindung zum BAOS770 über $ip:$port möglich! $!n" unless defined $socket;
 
#$socket->autoflush(1);
print $socket $bytearray;
 
#$socket->send( @tele );
#$socket->send( "rn" );
#print $socket @tele;
print $socket "rn";
#Ich sende zwar die Daten, aber erfolglos.
#Bis hierhin komme ich immer, dann kommt aber nie eine Antwort vom KNX Server :-(
 
my $answer = <$socket>;
print "Receiving: $answern";
close($socket);
[/code]
----------------------------------------------------
Es wäre SUPER, wenn hier jemand einen Tipp hätte.
Danke & Gruß,
  Roger
Beiträge
- Socket Problem - perli 03.02.2009 10:20 (0)
Zum Abschicken deines Beitrags bitte die Schaltfläche "Abschicken" nur einmal anklicken und warten. Der Server braucht manchmal
einige Zeit, bis er den Beitrag in die Datenbank übernommen hat. Wenn du die Schaltfläche mehrmals drückst, erscheint dein Beitrag
auch mehrmals im Forum.
Bewerten Sie Ihren Webhosting-Provider
Wie zufrieden sind Sie mit Ihrem Webhosting-Provider? Gibt es Probleme beim Service, mit der Performance oder der Abrechnung?
Teilen Sie jetzt Ihre Erfahrungen mit anderen Webmastern und schreiben Sie eine Provider-Bewertung. Mit etwas Glück können Sie ein Apple iPad gewinnen!
Weitere Informationen und Teilnahme...
|