域名解析 求解释代码
#define port 23654
sockaddr_in serv;
char host1="123.0.0.3";
。。。。。。
serv.sin_addr.s_addr=inet_addr(host);
serv.sin_family=AF_INET;
serv.sin_port=htons(port);
if (INADDR_NONE==serv.sin_addr.s_addr)
{
struct hostent *host=gethostbyname(host);
if (NULL!=host)
memcpy(&serv.sin_addr,host->h_addr_list[0],host->h_length);
}
。。。。。。
[解决办法]
#define port 23654 //端口号
sockaddr_in serv;
char host1="123.0.0.3"; //IP地址
。。。。。。
serv.sin_addr.s_addr=inet_addr(host); //这三行构造一个SOCK_ADDRIN
serv.sin_family=AF_INET;
serv.sin_port=htons(port);
if (INADDR_NONE==serv.sin_addr.s_addr) //如果serv结构体中的地址为空
{
struct hostent *host=gethostbyname(host); //通过这种方法得到本机IP地址
if (NULL!=host)
memcpy(&serv.sin_addr,host->h_addr_list[0],host->h_length);
}