【发布时间】:2012-09-06 21:34:46
【问题描述】:
我正在使用来自socket.h 文件的ssize_t send(int sockfd, const void *buf, size_t len, int flags);。我对此有些怀疑。
疑问1:假设我传递给send的字符串长度为10,而我在第三个参数中指定的长度为15。那么send 将只发送 10 个字符还是发送 15 个字符(通过读取最后 5 个字符的未分配内存来获得)。
在相反的情况下会发生什么意味着如果第二个参数的长度大于第三个参数。
疑问2:我假设第二个参数的长度等于第三个参数。现在,如果第二个参数是 -"abc\0def\0qw"。它的长度是 11。send 将发送整个字符串或\0 有任何效果。我认为它会发送整个字符串。发送的真正效果如何。
如果有人知道关于send、recv 的任何好的资源,可以深入讨论这些功能,请分享。
【问题讨论】:
标签: c sockets network-programming send