C发送套接字而不定义套接字

h00*_*00j 0 c sockets linux

这行代码做了什么

send(4, "test\n", 15, 0);
Run Code Online (Sandbox Code Playgroud)

如果代码中没有定义套接字?

unw*_*ind 6

它可能会失败,EBADF错误(in errno).

有关更多可能的错误值,请参见手册页.

请注意,如果在它之前有代码设置具有硬编码描述符值(第一个参数)的套接字,它可能会成功4.请参阅该dup()函数以了解尝试这种方法的一种方法.

另请注意,它可能是执行该设置的父进程,因此它甚至可能在源文件中不可见,而只是默默地假设.

最后请注意由于在提供的缓冲区外读取而导致的未定义行为(字符串长度不是15个字符).这是非常可疑的代码.