【发布时间】:2014-07-28 19:50:56
【问题描述】:
这是场景:
我在 Linux 中有一个基于选择的套接字服务器,它一次处理单个数据包。假设有几个数据包正在高速传输,当我的进程处于当前数据包的处理阶段时,我遇到了一个断点。我的问题是,当它在断点处停止时,发送到我的服务器进程的数据包会发生什么。他们会被淘汰吗?或者操作系统是否会缓冲这些数据包并在断点结束时将其传递给我的进程?
虽然我有一些想法,但我想在这里从大师那里确认一下,可能我会了解更多关于套接字行为的信息。
任何帮助将不胜感激。
【问题讨论】:
-
你可以很容易地尝试这个......为什么在这里提问并等待数小时(或数天)才能在几分钟内回答你自己的问题?
-
我会在几分钟内得到答案。那是关于stackoverflow的一个美妙的事情。正如我所说的那样,我可能会在这里讨论时学习新事物或幕后发生的事情。知识从来都不是完整的东西。
-
无论如何,研究自己问题的能力是开发人员最重要的工具之一。试试这个实验,然后问一些你不明白的问题。从长远来看,你会从中得到更多。
-
我想知道程序在断点处停止,程序非常慢,或忙于其他事情,或被换出并拒绝 CPU 时间,或任何其他原因之间有什么区别在套接字读取之间花费很长时间。
标签: c linux sockets network-programming posix