当前位置: 技术问答>linux和unix
有没有人在RED HAT 下 用C 套接字编程的
来源: 互联网 发布时间:2014-11-05
本文导语: 为什么我的程序出问题呢 我是按书上的写的, struct sockaddr_in sin; sin.sin_addr=.....//这个到底怎么赋值呢 我一连接就出错 connect(sock_descpritor,(struct sockaddr *)&sin,sizeof(sin)); 我想是地址赋值不对,那该怎么赋值呢 | ...
为什么我的程序出问题呢
我是按书上的写的,
struct sockaddr_in sin;
sin.sin_addr=.....//这个到底怎么赋值呢
我一连接就出错
connect(sock_descpritor,(struct sockaddr *)&sin,sizeof(sin));
我想是地址赋值不对,那该怎么赋值呢
我是按书上的写的,
struct sockaddr_in sin;
sin.sin_addr=.....//这个到底怎么赋值呢
我一连接就出错
connect(sock_descpritor,(struct sockaddr *)&sin,sizeof(sin));
我想是地址赋值不对,那该怎么赋值呢
|
那种写发不太好理解,呵呵
我通常都是这么写的
struct hostent *pse_host;
struct sockaddr_in sa_host;
pse_host = gethostbyname("ip address");
if(pse_host == NULL)
{
perror("gethostbyname() error");
return 1;
}
:
:
:
memset(&sa_host, 0, sizeof(sa_host));
sa_host.sin_family = AF_INET;
sa_host.sin_port = htons(port);
memcpy(&(sa_host.sin_addr), pse_host -> h_addr, pse_host->h_length);
我通常都是这么写的
struct hostent *pse_host;
struct sockaddr_in sa_host;
pse_host = gethostbyname("ip address");
if(pse_host == NULL)
{
perror("gethostbyname() error");
return 1;
}
:
:
:
memset(&sa_host, 0, sizeof(sa_host));
sa_host.sin_family = AF_INET;
sa_host.sin_port = htons(port);
memcpy(&(sa_host.sin_addr), pse_host -> h_addr, pse_host->h_length);
|
楼上的很对!呵呵