问题现象:bind返回 Invalid argument。
int Server::init(const char *ipstr, const int *port)
{
unlink("server_socket");
serverSockfd = socket(AF_INET, SOCK_STREAM, 0);
serverAddr->sin_family = AF_INET;
serverAddr->sin_addr.s_addr = inet_addr(ipstr);
serverAddr->sin_port = htons(*port);
listen(serverSockfd, 5);
return bind(serverSockfd, (struct sockaddr *)serverAddr, sizeof(struct sockaddr_in) );
}
解决方法: listen 函数的使用应在bind函数使用之后。