Bri*_*new 32
不,我以前一直被这个咬过.您可能想知道它可能会如何失败,但是您将遇到挂起的数据包缓冲区问题,因此数据包将被丢弃.网络子系统如何丢弃数据包取决于实现,而不是在任何地方指定.
不,即使使用本地插座,也没有这样的保证.如果您想要一个IPC机制来保证按顺序交付,您可能会考虑使用全双工管道popen().这将打开子进程的管道,可以任意读取或写入.它将保证按顺序交付,并可与同步或异步I/O(select()或poll())一起使用,具体取决于您希望如何构建应用程序.
在unix上还有其他选项,例如unix域套接字或System V消息队列(其中一些可能更快)但是从管道读取/写入非常简单且有效.作为奖励,它很容易测试您的服务器进程,因为它只是从Stdio读取和写入.
在Windows上你可以查看命名管道,它的工作方式与它们的unix同名有些不同,但它们恰好用于这种进程间通信.