Leser: 1
10 Einträge, 1 Seite |
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
#!/usr/bin/perl -w
use strict;
use IO::Socket;
use IO::Select;
my $hname = "localhost";
my $hport = $ARGV[0];
my $sock = new IO::Socket::INET->new(
LocalPort => $hport,
Listen => 10,
Reuse => 1,
Proto => 'tcp'
);
my $sel = new IO::Select->new();
$sel->add($sock);
$sel->add(*STDIN);
die "*Could not Connect" unless $sock;
while(1){
while(my @ready = $sel->can_read) {
foreach my $fh (@ready) {
if ($fh eq $sock) {
my $new = $sock->accept;
$sel->add($new);
print "Willkommen\n";
}
elsif($fh eq *STDIN) {
my $buf = <STDIN>;
print "Client\n";
client($buf);
}
else{
$sel->remove($fh);
$fh->close;
}
}
}
}
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
use IO::Socket;
use IO::Select;
$hname = "localhost";
$hport = $ARGV[0];
$sock = new IO::Socket::INET->new(LocalPort => $hport,
Listen => 10,
Reuse => 1,
Proto => 'tcp');
$sel = new IO::Select->new();
$sel->add($sock);
$sel->add(*STDIN);
die "*Could not Connect" unless $sock;
while(1){
while ($line = <STDIN>){
while(@ready = $sel->can_read) {
foreach $fh (@ready) {
if ($fh == $sock) {
$new = $sock->accept;
$sel->add($new);
print "Willkommen";
}
elsif($fh == *STDIN) {
$buf = <STDIN>;
print "Client\n";
client($buf);
}
else{
$sel->remove($fh);
$fh->close;
}
}
}
}
QuoteWarum willst du eigentlich beides mischen??Ich möchte ein Perl-Programm schreiben, dass Client und Server vereint. Dazu will ich checken ob die Eingabe von STDIN kommt(d.h der Client hat eine Anweisung bekommen), oder ob die Eingabe von einem Socket kommt(d.h der Server soll etwas mit der Verbingung machen).
10 Einträge, 1 Seite |