[suse-linux] - Datenverlust beim Schreiben auf TCP
Bjoern Schorre@RSBICK 22.02.2002 09:37 Hallo Leute, Erstmal vorneweg: Ich programmiere unter C eine TCP-Anwendung. Beim Versenden von sehr vielen Daten auf TCP kann es vorkommen, dass der send-Befehl nicht alle Daten in den TCP-Socket schreiben kann. Er kehrt dann mit der entsprechenden Anzahl von geschriebenen Bytes zurück. Ich kann jetzt also überprüfen, wieviele Bytes ich nochmal versuchen muss zu versenden. Soweit, so gut. Mein Programm hat aber noch andere Aufgaben zu tun, und kann deswegen nicht darauf warten, bis TCP wieder Daten annehmen kann. Klar dass ich die Daten irgendwann senden will. Aber ich will so wenig wie möglich Zeit in den Sende-Vorgang stecken. Dank an alle Anworter! Gruß Björn * * * * * Linux - Life is too short for reboots * * * * *
Bjoern_Schorre@rsbick.de wrote:
Bjoern Schorre@RSBICK 22.02.2002 09:37
Hallo Leute,
Erstmal vorneweg: Ich programmiere unter C eine TCP-Anwendung.
Beim Versenden von sehr vielen Daten auf TCP kann es vorkommen, dass der send-Befehl nicht alle Daten in den TCP-Socket schreiben kann. Er kehrt dann mit der entsprechenden Anzahl von geschriebenen Bytes zurück. Ich kann jetzt also überprüfen, wieviele Bytes ich nochmal versuchen muss zu versenden. Soweit, so gut.
Mein Programm hat aber noch andere Aufgaben zu tun, und kann deswegen nicht darauf warten, bis TCP wieder Daten annehmen kann. Klar dass ich die Daten irgendwann senden will. Aber ich will so wenig wie möglich Zeit in den Sende-Vorgang stecken.
Da ich dein Prog. nicht kenne, gehe ich nach den obigen Informationen davon aus, dass du _nicht_ 'select' verwendest (man 2 select) oder? Daniel
Hallo Bjoern, * Am 22.02.2002 um 10:37 Uhr schrieb Bjoern_Schorre@rsbick.de:
Mein Programm hat aber noch andere Aufgaben zu tun, und kann deswegen nicht darauf warten, bis TCP wieder Daten annehmen kann. Klar dass ich die Daten irgendwann senden will. Aber ich will so wenig wie möglich Zeit in den Sende-Vorgang stecken.
warum benutzt Du nicht einfach einen eigenen Thread/Process für diese Aufgabe. Deine anfallenden Daten leitest Du einfach an diesen kleinen Helfer weiter, der alles der Reihe nach abarbeitet ;-) Jürgen -- Sind Sie im Zweifel, murmeln Sie. Sind Sie in Schwierigkeiten delegieren Sie. / Registered Linux-User #130804 http://counter.li.org \ \ Linux Stammtisch Bremerhaven http://linux.hs-bremerhaven.de /
participants (3)
-
Bjoern_Schorre@rsbick.de
-
D.Wolpert
-
Juergen Schwarting