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?
RAW Sockets und Threads
Nur der 1. der .recv() ausführt natürlich.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?
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 gefragtMad-Marty hat geschrieben:Nur der 1. der .recv() ausführt natürlich.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?
Wenn bei dir mehrere Threads auf den selben socket zugreifen kannst du deine App Architektur gleich mal komplett wegwerfen und neu machen.