User since
2003-08-04
7321
Artikel
ModeratorIn
schreiben bleibt wie gehabt (vielleicht noch binmode SOCKET; setzen - bin mir da aber gard nicht ganz sicher)
und dann lesen
my $message = '';
my $buffer = '';
my $maxLen = 4096;
while(my $read = read(SOCKET, $buffer, $maxLen)) {
$message .= $buffer;
last if $read < $maxLen;
}
User since
2006-01-27
19
Artikel
BenutzerIn
Danke,
nun aber mit send und recv hab i ihrgendwie auch kein glück ohne base64 kommt das file selbst mit binmode SOCKET kleiner an:
recv 4352 Bytes
send 9628 Bytes
mit base64 geht es über send/recv\n\n
<!--EDIT|tuxilein|1138802332-->
User since
2003-08-04
7321
Artikel
ModeratorIn
benutzt du die recv funktion genauso wie mein read beispiel?
User since
2006-01-27
19
Artikel
BenutzerIn
nein die recv von socket $socket->recv .....
User since
2003-08-04
7321
Artikel
ModeratorIn
[quote=tuxilein,01.02.2006, 15:27]nein die recv von socket $socket->recv .....[/quote]
okay...
my $message = '';
my $buffer = '';
my $maxLen = 4096;
while(my $read = $socket->recv($buffer, $maxLen)) {
$message .= $buffer;
last if $read < $maxLen;
}
User since
2006-01-27
19
Artikel
BenutzerIn
jo so schauts aus!
und macht faxen!
vieleicht mal ne nacht drüber schlafen!\n\n
<!--EDIT|tuxilein|1138805874-->
User since
2003-08-04
7321
Artikel
ModeratorIn
gib mal $read innerhalb der scheife aus!
User since
2006-01-27
19
Artikel
BenutzerIn
so,
recv gibt als return die IP und den Port wo der CLient sich Connectet zurück.
mit dem read befehl, pasirt nicht wirklich was, wenn nicht die anzahl der bytes zurückkommen.
User since
2003-08-04
7321
Artikel
ModeratorIn
recv ist definitity die falsche version.
poste mal code, damit ich sehe, was du falsch machst!
User since
2006-01-27
19
Artikel
BenutzerIn
recv:
use constant MAXLEN => 1500;
.....
my $mesg';
my $buff;
while(my $read = $self->{csocket}->recv($buff, MAXLEN)) {
$mesg.= $buff;
last if( $read < MAXLEN );
}
read:
use constant MAXLEN => 1500;
......
my $mesg';
my $buff;
my $conn = $self->{csocket};
while( my $read = read( $conn, $buff, MAXLEN ) ) {
$mesg.= $buff;
last if( $read < MAXLEN );
}
\n\n
<!--EDIT|tuxilein|1138876704-->