Thread Server nimmt keine weiteren Nachrichten an (7 answers)
Opened by qqonline at 2008-06-30 02:10

qqonline
 2008-06-30 02:10
#111670 #111670
User since
2008-06-30
1 Artikel
BenutzerIn
[default_avatar]
Hallo!

Habe folgendes Problem:

Ich habe einen TCP Server geschrieben, der auch auf meine Anfragen antwortet. Nur leider nur einmal, danach kann ich ihm senden was ich will und er schickt keine Antwort zurück...

Hoffe ihr könnt mir helfen

Code:

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/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;
}
}

View full thread Server nimmt keine weiteren Nachrichten an