Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这行代码是做什么的
send(4, "test\n", 15, 0);
如果代码中没有定义套接字?
它可能会失败,并出现EBADF错误(在 中errno)。
EBADF
errno
有关更多可能的错误值,请参阅手册页。
请注意,如果在它之前有代码设置具有硬编码描述符值(第一个参数)的套接字,它可能会成功。4请参阅该dup()功能以了解尝试执行此操作的一种方法。
4
dup()
另请注意,它可能是执行该设置的父进程,因此它甚至可能在源文件中不可见,而只是默默地假设。
最后请注意由于在提供的缓冲区之外读取而导致的未定义行为(字符串不是 15 个字符长)。这是相当可疑的代码。