#!/usr/bin/perl use IO::Socket; use DBI; my $dbname="Dbname"; my $username="username"; my $pw="pw"; my $data1 = "DBI:mysql:$dbname"; my $data2 = DBI->connect($data1, $username, $pw, { RaiseError => 1 }) || die("Kann MYSQL DB nicht öffnen!"); $server_socket = IO::Socket::INET->new ( LocalPort => 1000, Listen => 10, Proto => 'tcp', Reuse => 1) or die "$@\n"; print "Server lauft, zum Beenden Strg+c eingeben oder Prozess killen\n"; while($client = $server_socket->accept()) { $client_send = <$client>; $answer = &antwort($client_send); print $client "$answer\n"; } my $leer = " "; #------------------------------------------------------------------ #Protokoll beginn - ABFRAGEN , BEFEHLE etc. sub antwort{ print $_[0]; ($i1, $i2, $i3)=split($leer,$_[0]); #Verbindungsabfrage if($i1." ".$i2 eq "sicherheitscode connect_request\r\n") { "connect_ok"; } #abfrage if($i1." ".$i2 eq "sicherheitscode get_channelliste\r\n") { my $sql="SELECT * FROM test ORDER BY nick DESC"; my $abfr1=$data2->prepare($sql); $abfr1->execute; while (@ergebnis = $abfr1->fetchrow_array) { $ausgabeaussql .= $ergebnis[0].","; } print $ausgabeaussql; return "send_channelliste|sdfgsdfgsdfgsdfg".$channelliste; } }