查看了一段时间的代码之后,我发现大多数编码器已经使用IPC上的Pockets(或者指定FIFO)的套接字。何时使用Fifo上的套接字用于客户端服务器IPC?
考虑到只有一个客户端和一个服务器,在套接字上使用FIFO不是更好吗? 请在这个问题上教育我。
查看了一段时间的代码之后,我发现大多数编码器已经使用IPC上的Pockets(或者指定FIFO)的套接字。何时使用Fifo上的套接字用于客户端服务器IPC?
考虑到只有一个客户端和一个服务器,在套接字上使用FIFO不是更好吗? 请在这个问题上教育我。
FIFO具有以下优点:
但在另一方面,它是单向的,即比较,你最有可能需要2个独立的FIFO:
或者使用一个FIFO,但重新打开它需要即获取服务器上的数据 - 重新FIFO WR_ONLY在服务器上,在客户端重新打开fifo RD_ONLY,在客户端读取数据并在从服务器读取数据后反过来。
“套接字缓冲区大小可以更改。”和FIFO和管道缓冲区大小不能改变,我想:) :)? – Maquefel
@Maquefel由于内核2.6.11管道缓冲区的大小可以改变。 –
FIFO更有限,它们不能很好地处理多个同时发生的客户端。 – PSkocik