Thread Fehlerfreie Übertragung von Daten (2) (9 answers)
Opened by ITobiI at 2015-10-15 19:46

ITobiI
 2015-10-16 12:28
#182644 #182644
User since
2015-09-10
70 Artikel
BenutzerIn
[default_avatar]
Hi, ich würde aber gern die einzelnen Elemente des Array's senden und empfangen um den Inhalt gleich zu prüfen und evtl. das Datenpaket noch einmal anzufordern, weiß aber nicht ob das so geht. Ich habe mir das in etwa so vorgeestellt:
Server:
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
	#Empfange und überprüfe Empfang Daten
for($i = 0; $i < $laenge_Client; $i++)
{
$Bestaetigung_laenge_daten = 0;

#Empfange Daten
do
{
#sende Bestätigung für nicht erfolgreichen Empfang des Datenpakets
$connection->send($Bestaetigung_laenge_daten);

#Empfange Daten und löse Timeout aus wenn Datenpaket verloren geht
$connection->recv($daten[$i],1024);

#Bilde Länge der empfangenen Daten
$laenge_Server = length($daten[$i]);
}
while($laenge_Server != 1024);

$Bestaetigung_laenge_daten = 1;

#sende Bestätigung für erfolgreichen Empfang des Datenpakets
$connection->send($Bestaetigung_laenge_daten);
}

Client:
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
#String in Array umwandeln
@daten = split('-',$zip_daten);

#Array in gleich große Elemente aufteilen
??Array in gleich Große Elemente der Größe 1024 aufteilen??

#Länge des Arrays ermitteln
$laenge_Client = @daten;

#Sende Länge der Daten zu Server
$socket->send($laenge_Client);

do
{
#Bestaetigung erhalten
$socket->recv($Bestaetigung_checksum_daten,2);

for($i = 0; $i < $laenge_Client; $i++)
{
do
{
#empfange Bestätigung für Empfang des Datenpakets
$socket->recv($Bestaetigung_laenge_daten,2);

#sende Datenpakete zu Server
$socket->send($daten[$i]);
}
while($Bestaetigung_laenge_daten == 0);
}

}
while($Bestaetigung_checksum_daten == 0);

Last edited: 2015-10-16 12:34:33 +0200 (CEST)

View full thread Fehlerfreie Übertragung von Daten (2)