client sending während client receives

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
__blackjack__
User
Beiträge: 13117
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Finux: Das Problem hier ist das sowohl Sockets als auch Threads/nebenläufige Programmierung *komplex* sind, und das man ganz leicht Fehler machen kann, die aber nicht auffallen, weil scheinbar alles funktioniert. Es ist bei beiden nicht so das man was falsch macht und bei gleichem Code und gleichen Daten bei jedem Programmlauf die gleichen falschen Daten als Ergebnis kommen oder immer an der gleichen Stelle eine Ausnahme. Man kann auch ”immer” das richtige Ergebnis bekommen bei jedem Programmlauf. Die Anführungszeichen bei ”immer”, weil es eben nicht immer ist. Vielleicht sogar recht selten. Vielleicht in der Hard- und Software-Konstellation die man verwendet sogar nie. Es ist dann aber trotzdem fehlerhaft.

Wenn man hier eine Bibliothek verwendet, wo sich jemand der schon gut programmieren kann, Gedanken über den Code gemacht hat, und der schon von ganz vielen Leuten, schon lange und erfolgreich in Projekten eingesetzt wurde, dann kann das nur besser sein. Wer da meint man könne sich nicht auf fremde Bibliotheken verlassen, und das dann lieber selbst zusammenzimmert hat ziemlich einen an der Waffel. Und meistens sind das die Leute die denken sie könnten das alles, und da dann selbst Code mit mehr oder weniger subtilen Fehlern produzieren.

Darum sagen Dir hier mehrere erfahrene Programmierer: Mach das nicht selbst. Ich selbst würde mir das nicht so ohne weiteres zutrauen, weil ich immer Angst hätte irgend etwas zu vergessen. Und man muss im Grunde auch immer für die andere Seite einer Verbindung mitdenken, was die falsch machen könnte. Bei Sirius3's `recv_bytes()`-Code ist mir beispielsweise als erstes aufgefallen das die Gegenseite ihr Ende der Verbindung nicht zumachen darf, denn dann liefert `socket.recv()` bei jedem Aufruf 0 Bytes und das ist eine Endlosschleife.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten