非阻塞connect errno为EINPROGRESS,如何判断已经连接上了?

来源:互联网 发布:大数据工程师工作累吗 编辑:程序博客网 时间:2024/05/16 15:38

via:http://stackoverflow.com/questions/8145624/getpeername-can-not-recognize-connection-established


To determine if the socket is connected, it is more usual to use getsockopt() rather than getpeername():

int so_error;socklen_t len = sizeof(so_error);getsockopt(sock, SOL_SOCKET, SO_ERROR, &so_error, &len);if (so_error == 0) {    /* socket is connected */}


0 0
原创粉丝点击