I m 采用BSD的袖珍,我想使用:link
,与example.com
连接80。 <代码>: 告诉我,它有一份有效的卷宗说明,有一份是<代码>-1。
auto fd = ::socket(AF_INET, SOCK_STREAM, 0);
struct ::sockaddr_in addr;
::bzero(&addr, sizeof(addr));
addr.sin_family = family_;
struct ::hostent* hostent = ::gethostbyname(host.c_str());
::bcopy(hostent->h_addr, &addr.sin_addr.s_addr, hostent->h_length);
addr.sin_port = port;
auto err = ::connect(fd,
reinterpret_cast<struct ::sockaddr*>(&addr),
sizeof(addr));
fd = 0
, so :socket
继承(否则将回到<代码>-1)。 但是,er ==-1
和errno
的编号为EBADF
,表示fd
为坏账人。
在此可以做些什么? 为什么<代码>:连接编码> 我告诉我,我给它一个坏的描述者,而我显然没有这样做?