Diskuze: tcp/ip client chyby v datech
Tvůrce
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Použítí TCP by mělo vyloučit chybu v síti.
PS: napiš to rovnou vše jen v hexa
Předpokládej chybu u sebe nebo na serveru. Nevím, zda se chybovost paketů kontroluje nějak lépe než skrz CRC (což nevylučuje možnost, že chybné pakety budou považovány za dobré, ale ta pravděpodobnost je velmi malá).
O to se prakticky stará TCP a jeho by to vůbec trápit nemělo, ne?
chyba na straně serveru není vůbec vyloučena, spíš jsem se chtěl poradit jestli je možné aby bylo něco špatně u mě s takovýmhle minimalistickém klientem
python
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((ip, port))
sock.send(b'nejaka data')
print(sock.recv(23))
sock.close()
Přesně tak, může se stát, že dojde k chybě, ale tohle je čistě
softwarový problém.
Pošli kód, který ty data posílá a přijímá.
O to se prakticky stará TCP a jeho by to vůbec trápit nemělo, ne?
TCP se ti stará mj. o to, aby ti vytvořilo iluzi, že ti pakety došly ve stejném pořadí, v jakém je odesilatel poslal, že ti každý došel právě jednou.
Nevím ale, jak by mohly obě strany (klidně na jednom drátě, poř. na jedné bezdrátové síti. Na tom drátě by to možná ještě šlo) poznat, že přenos opravdu proběhl bez chyby. Protože nerozumí datům, která posíláš uvnitř paketu. Takže pokud sedí CRC, nemají se důvod domnívat, že je něco špatně. Samozřejmě, tohle se dá řešit i dalšími protokoly, která třeba část obsahu hašují, takže je větší záruka než u CRC (ale bere to více místa a výkonu).
Zobrazeno 7 zpráv z 7.