Linux中的套接字连接

use*_*632 -1 c sockets linux

我刚从linux中的connect API收到错误.

我知道如果连接成功,'connect'将返回零,我得到返回值"3"

是错误代码吗?或者还有什么不知道的东西?

connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
Run Code Online (Sandbox Code Playgroud)

我从袜子里得到了价值3.

jxh*_*jxh 5

要获得返回值connect(),最简单的方法是使用一个用作赋值左侧的变量.

int result = connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
printf("connect returned: %d\n", result);
Run Code Online (Sandbox Code Playgroud)

sock必须是套接字,并且由于调用而被分配了文件描述符号socket().返回新文件描述符的大多数UNIX API将返回最低的可用文件描述符.程序通常描述开始了0,12已经在使用(STDIN,STDOUT和STDERR).所以,socket()返回并不意外3.