有没有可能将N个文件描述符看作1个文件描述符,以便在N个文件描述符(即来自N个套接字)中的任何一个上接收的数据将被转发回单个文件描述符上的调用API,从而隐藏它实际上可能来自不同的文件描述符的事实?是否也有可能将类似的写操作抽象出来(但返回到正确的第N个文件描述符)?
发布于 2009-08-05 04:49:38
由于您标记并使用了单词socket,因此我假定您的数据是通过网络路径传入的,并且您实际上希望通过同一套接字读取多个源。
如果您正在使用TCP/IP套接字,那么您已经有了使用UDP套接字监听本地端口方案,多个源可以将数据发送到该本地端口。
您不能拥有这样的TCP,但是在所有标准实现中都可以使用TCP,它允许您打开多个侦听套接字,每个源一个套接字,然后对整个批处理进行选择。你不能在这里“隐藏”源代码。
如果您想要的是abstraction,一个更好的想法是编写一个小型应用程序来管理这个多个通信端点,并通过IPC与您的主要应用程序通信。您可以实现一个短标头来寻址这个小型应用程序的端点。然后,您的主应用程序将通过一个通信点查看所有内容。
它还将很好地解决您对编写内容进行抽象化的问题。
https://stackoverflow.com/questions/1231182
复制相似问题