Ich hab hier nen kleinen Chatserver gebastelt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use strict;
use IO::Socket::INET;
use IO::Select;
my $server = IO::Socket::INET->new(LocalPort => 8000, type=>SOCK_STREAM, Reuse=>1, Listen=>10) or die $@;
my $select = IO::Select->new($server);
while (my @readable = $select->can_read()) {
for my $socket (@readable) {
if ($socket == $server) {
my $client = $socket->accept();
print "$client ist der neue Client\n";
$select->add($client);
next;
} else {
my $line = $socket->getline();
#requests verarbeiten
}
}
}
#und so weiter
Der Server basiert auf der Architektur des TCP-Servers aus dem Kochbuch (2. Auflage).
Damit ihr nicht mit soviel Code überfordert seid, habe ich mich auf das nötigste beschränkt. Dann wisst ihr wie es ungefähr aufgebaut ist. Ich will hier aber garnicht weiter auf den Code eingehen.
Vielmehr geht es um folgendes:
Die Idee war damals, etwas zu basteln, worauf man nahezu aus allem einen Client bauen kann was in der Lage ist eine Socketverbindung einzugehen. Ich habe also Clients in Java und Tk gebaut.
Mittlerweile gibts aber eine neue Technik die mich sehr interessiert und der ich viel Zukunft zumesse, nämlich AJAX.
Allerdings ist AJAX alles andere als mit Java oder Flash vergleichbar. Die Idee, von der ich damals annahm, man könne einmal einen Server bauen und dann kann man alle paar Jahre mal einen Client bauen der dem aktuellen Stand der technik entspricht. Ganz früher war es Java. Vor 1 Jahr habe ich dann einen mit Flash gebaut. Jetzt scheint AJAX der Trend zu sein und es sieht so aus, als müsste ich mir Gedanken um die Serverarchitektur machen.
Wie seht ihr das und was denkt ihr, wie könnte man das o.g. Beispiel auch für techniken wie AJAX verfügbar machen?