RAW Sockets und Threads

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
kait
User
Beiträge: 9
Registriert: Mittwoch 6. Mai 2009, 14:23

RAW Sockets und Threads

Beitragvon kait » Samstag 9. Mai 2009, 10:33

Hallo,
wenn ich mehrere Threads habe, die alle auf einem RAW Socket ein recv() ausführen, bekommen dann alle Threads jedes ankommende Paket oder wird jedes Paket nur einmal an den ersten Thread ausgeliefert der gerade aktiv wird?
EyDu
User
Beiträge: 4868
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Samstag 9. Mai 2009, 10:59

Nur der aktive Thread sollte die Daten bekommen. Jedes andere Verahlten wäre sehr unerwartet.
Das Leben ist wie ein Tennisball.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Re: RAW Sockets und Threads

Beitragvon Mad-Marty » Montag 11. Mai 2009, 15:43

kait hat geschrieben:Hallo,
wenn ich mehrere Threads habe, die alle auf einem RAW Socket ein recv() ausführen, bekommen dann alle Threads jedes ankommende Paket oder wird jedes Paket nur einmal an den ersten Thread ausgeliefert der gerade aktiv wird?


Nur der 1. der .recv() ausführt natürlich.
Wenn bei dir mehrere Threads auf den selben socket zugreifen kannst du deine App Architektur gleich mal komplett wegwerfen und neu machen.
kait
User
Beiträge: 9
Registriert: Mittwoch 6. Mai 2009, 14:23

Re: RAW Sockets und Threads

Beitragvon kait » Montag 11. Mai 2009, 15:48

Mad-Marty hat geschrieben:
kait hat geschrieben:Hallo,
wenn ich mehrere Threads habe, die alle auf einem RAW Socket ein recv() ausführen, bekommen dann alle Threads jedes ankommende Paket oder wird jedes Paket nur einmal an den ersten Thread ausgeliefert der gerade aktiv wird?


Nur der 1. der .recv() ausführt natürlich.
Wenn bei dir mehrere Threads auf den selben socket zugreifen kannst du deine App Architektur gleich mal komplett wegwerfen und neu machen.


Macht sie nicht, deswegen habe ich ja vorher gefragt ;)

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]