我正在使用perl原始套接字发送大量任意原始数据包(没有任何恶意!),但是在我的send()调用失败并且“没有可用的缓冲区空间”之前,我只能得到大约14500个。
我猜测内核中的某些内容正在跟踪我发送的内容?我怎么能防止这种情况。我只是想发送每个数据包,没有必要等待回复或记住发送的内容。 (更新:我在“netstat”命令中注意到“CLOSE_WAIT”条目的加载 - 如何告诉内核不要这样做?)
它指的是什么是“缓冲空间”,有没有办法检查 可用的空间,所以当没有空间时我可以避免发送更多?或者 - 有没有办法“阻止”“发送()”,所以我从来没有遇到错误?
或者 - 是否有其他方式发送以太网数据包(例如:SYN),内核知道不在任何表中输入任何内容?
答案 0 :(得分:1)
如果CLOSE_WAIT连接是你的: