connect:address family not supported by protocol该如何解决?

Linux(arm9中)下的tcp传输问题:连接不上服务端,错误信息是
connect:address family not supported by protocol
部分代码如下:
....
...
..
struct hostent * server_host_name;
struct sockaddr_in h_addr;
int sockfd;
int port=9999;
char *hostname="888.888.888.888";
bzero(&(h_addr),sizeof(h_addr));
server_host_name=gethostbyname(hostname);
h_addr.sin_family=PF_INET;
h_addr.sin_port=htons(port);
h_addr.sin_addr.s_addr=INADDR_ANY;
h_addr.sin_addr.s_addr=
((struct in_addr *)(server_host_name->h_addr))->s_addr;
if((sockfd=socket(PF_INET,SOCK_STREAM,0))==-1){
perror("socket");
exit(1);
}
if(connect(sockfd,(struct sockaddr *)&h_addr,
sizeof(struct sockaddr))==-1){
perror("connect");
exit(1);
}
close(sockfd);
[840 byte] By [flyingship23-猎手] at [2008-1-9]
# 1
h_addr.sin_family=PF_INET;

改为:
h_addr.sin_family=AF_INET;

试试看。

awjx-啦啦啦 at 2007-10-18 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 2
试过了,一样的结果
flyingship23-猎手 at 2007-10-18 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 3
你这句是什么啊 char *hostname="888.888.888.888";
改成一个合法的
Clerk_9919-Clerk at 2007-10-18 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 4
这里的值只是表示ip已经初始化了,实际中是合法的
这些代码在虚拟机上完全没问题,但是,在arm上就不行
flyingship23-猎手 at 2007-10-18 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 5
哎!有搞arm的在吗,小第真的无招了,帮我啊!!
flyingship23-猎手 at 2007-10-18 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 6
不清楚啊,观望中
net_stoat at 2007-10-18 > top of Msdn China Tech,Linux/Unix社区,程序开发...