2012-04-05 9 views
1

Da es möglich ist, eine TCP-Socket und einen UDP-Socket zu konstruieren, die auf dem gleichen Port lauscht, ist es möglich, mehrere Steckdosen zu konstruieren, die für UDP-Nachrichten auf dem gleichen hören Port, mit jedem Hören für verschiedene Quell Endpunkte?Mehrere UDP-Sockets für spezifische Quelle auf dem gleichen Port zu hören

Design-weise habe ich derzeit den Eindruck, dass der 'richtige' Weg es ist, nur einen einzigen Socket zu haben, der auf alle UDP-Nachrichten lauscht und den Ursprung auf Anwendungsebene bestimmt.

Antwort

2

Es ist möglich, mehrere UDP-Sockets über das gleiche lokale IP/Port-Paar mit der Socket-Option SO_REUSEADDR abhören zu lassen, aber es gibt keine Möglichkeit, jedem Socket nur Pakete für das vorgesehene Remote-IP/Port-Paar zu akzeptieren. so gibt es keine Garantie, die Steckdose, welches Paket empfangen wird. Also ja, die richtige Option ist eine einzige Steckdose zu verwenden, die das Senden von IP/Port jeder schaut Paket empfangen und leitet das Paket entsprechend.

Verwandte Themen