das könnte man ja ungefähr so machen:
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
if($socket == $server) {
my $client = $socket->accept;
$select->add($client);
$client->print("Connected"); # Aufforderung Username zu senden
} else {
my $line = $socket->getline;
if(defined $line) {
$line =~ s!\r?\n$!!g;
if(substr($line,0,4) eq 'name') {
push @users, substr($line,4,20);
$socket->print("In Userlist aufgenommen\n");
} else {
if(lc($line) eq "quit") {
print "Client quits\n";
delete_socket($select, $socket);
} else {
print "Client says: [$line]\n";
$socket->print("$line\n");
}
}
} else {
print "Connection closed by client\n";
delete_socket($select, $socket);
}
}
Erläuterung:
- Verbindung wird aufgebaut.
- Der erste String an den Server muss ein Name sein, ansonsten darf Client nicht kommunizieren\n\n
<!--EDIT|Froschpopo|1113460596-->