我正在尝试在 Windows 中用 C 语言编写客户端-服务器程序。目标是从服务器接收目录列表。现在我试图以利用大多数资源的方式开发客户端服务器。
一种实现方式是服务器进行一次 send() 调用以发送单个文件的信息。因此,如果有 100 个文件,它会进行 100 次调用。但是我觉得它浪费了网络资源。据我所知,Windows 中 send() 或 recv() 的缓冲区大小为 8kb。但是单个文件的信息几乎不会有 1kb。那么有没有办法让 send() 调用来发送多个文件信息(文件信息存储在结构中。所以它们基本上形成了一个链表)?也许我可以在一次 Send() 调用中发送至少 8 个文件的信息。这应该会将 send() 调用的总数减少到最多 13 个。
那么基本上有没有办法通过 send() 发送链表?如果您能想到任何替代方法,请告诉我。