2014-03-01 19 views
0

我正在开发一个客户端应用程序,其中客户端应用程序向服务器发送不同类型的消息。一种类型的消息由要在进程之间传递的文件描述符组成。通过Unix域套接字与文件desriptor发送的非原子消息。 FD发送两次了吗?

通常在Posix API页面上,找不到关于sendmsg和recvmsg的很多信息。我的问题是,如果发送的消息太大,无法自动发送,附加的文件描述符是针对每条消息发送的,还是只是第一个?

为什么这让我感到困惑的是,在连接的套接字上,如果消息发送得太快,内核正在将消息合并到一起,那么文件描述符(整数)也必须与消息合并在一起。

回答

0

UNIX域套接字支持将文件描述符或进程凭据传递到... UNIX域套接字不支持send(2)MSG_MORE标志。 ...由于历史原因,下面列出的辅助消息类型指定为...要通过SOCK_STREAM传递文件描述符或证书