Thread win32 udp server (5 answers)
Opened by hudo at 2007-08-09 04:12

hudo
 2007-08-09 04:16
#97811 #97811
User since
2003-11-20
72 Artikel
BenutzerIn
[default_avatar]
und hier der server-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
57
58
59
#!/usr/bin/perl -w
# udp server
use strict;
use IO::Socket;
use Cwd;
use TIE::File;
### Pfad und Hilfsvariablen intitialisieren
my $aktuellesdir;
my $dirprefix;
#my $dirbin;
my $line; ## Hilfsvariable fuer line
my $quellfile="empfangsfile.txt";
my $EMPFANG;

### UDP Variablen initialisieren
my ($sock, $PORTNO, $MAXLEN, $nachricht);
$PORTNO = 4712;
#$PORTNO = 0;
$MAXLEN = 1024;

my $laenge;
my $startzeit;

$sock = IO::Socket::INET->new ( LocalPort=>$PORTNO, Proto=>'udp')
or die "socket: $@";
print "Warte auf UDP NAchricht auf Port $PORTNO$/";

### Pfade initialisieren
$aktuellesdir=getcwd;
$dirprefix="$aktuellesdir/";

### Datei vorbereiten
my $file = "$dirprefix"."$quellfile";
my @array_quellfile;
my $n_recs_array_quellfile;

if ( -e $file ) {
tie @array_quellfile, "Tie::File", $file || die "cannot open $file $!";
$n_recs_array_quellfile = @array_quellfile;
} else {
system(`touch $file`);
tie @array_quellfile, "Tie::File", $file || die "cannot open $file $!";
$n_recs_array_quellfile = @array_quellfile;
}

while ($sock->recv($nachricht, $MAXLEN)) {
$laenge = length($nachricht);
$startzeit = scalar localtime;

print "Zeitstempel: $startzeit : Laenge: $laenge : Der Client sagte ''$nachricht''$/";
#$sock->send("Zeitstempel: $startzeit : Du sagtest: ''$nachricht'' zu mir $/");
# $sock->send("Zeitstempel: Du sagtest: ''$nachricht'' zu mir $/");

#### print "$startzeit Der Client sagte ''$nachricht''$/";
#### $sock->send("Du sagtest: ''$nachricht'' zu mir $/");
$sock->send("Zeitstempel: ''$startzeit'' : Du sagtest: ''$nachricht'' zu mir $/");
push(@array_quellfile, $nachricht);
} die "recv: $!";
untie @array_quellfile;

View full thread win32 udp server