我只是查看了wikipedia's entry on out-of-band data,据我了解,OOB数据在某种程度上被标记为更重要并被视为普通数据,但是在单独的流中传输,这让我感到非常困惑。
实际问题是(除了“有人能解释一下OOB数据是什么吗?”):
我正在编写一个使用套接字并需要使用select()的unix应用程序,并且想知道如何处理exceptfds参数?我是否需要将所有套接字放入此参数并对此类事件做出反应?或者我只是忽略它们?
答案 0 :(得分:23)
我知道您已经决定不需要处理OOB数据,但如果您做关心OOB,请记住以下事项......
如果这看起来有点令人困惑和毫无价值,那是因为它主要是。 是使用OOB的充分理由,但这种情况很少见。一个例子是FTP,其中用户可能处于大转移的中间但决定中止。中止作为OOB数据发送。此时,服务器和客户端只是吃掉任何进一步的“正常”数据,以排出仍在传输的任何内容。如果中止是与数据内联处理的,那么所有未完成的流量都必须被处理,只能被转储。
很高兴知道OOB存在以及它如何工作的基础知识,以防万一你需要它。但除非你只是好奇,否则不要在内外学习它。你可能从不使用它的机会很不错。
答案 1 :(得分:3)
我想我在this page找到了答案。简而言之:
如果我不是发送任何OOB数据,我不需要在接收端处理OOB数据。我原以为OOB数据可以由发件人的操作系统生成。
答案 2 :(得分:0)
即使 发送它,您也不需要在接收端处理它 - 除非您主动接收OOB数据,否则在所有情况下都会被忽略OOB数据。