2009-03-10 6 views

Antwort

0

Ich glaube nicht ... Wie würden Sie erwarten, dass der IP-Stack ableitet, wo das Paket-Datagramm sein soll?

+0

Jedes iovec ein separates Datagramm? –

0

Was Sie fragen, ist ein bisschen komisch seit gather-style send() wie der Name sagt sammelt Daten von mehreren Orten im Speicher und fügt sie zusammen in einen Puffer, den sie dann sendet.

Sie haben also mehrere Teile von Daten, die Sie mehrere Datagramme senden möchten. Warum schickst du sie nicht mit separaten Anrufen?

Sie können tatsächlich connect() auf einem Datagramm-Socket aufrufen, um ein Standardziel anzugeben, sodass Sie send() oder write() senden können, ohne jedes Mal die Zieladresse anzugeben.

2

Der Anruf, den Sie suchen, ist sendmmsg(), aber es ist noch nicht implementiert oder sogar für viel Diskussion. Sie können sehen, es ist Seite Twin recvmmsg() in der neuesten 2.6.3 Linux-Kernel erhalten.

+0

Der Systemaufruf [sendmmsg()] (http://man7.org/linux/man-pages/man2/sendmmsg.2.html) wurde in Linux 3.0 hinzugefügt. Unterstützung in glibc wurde in Version 2.14 hinzugefügt. – ecerulm