2013年9月6日星期五

linux system, a simple socket client , compile-time error connect function parameters , neighborhoods !

int main ()
{

struct sockaddr_in servaddr;
char buf [BUFSIZE];
int sockfd = socket (AF_INET, SOCK_STREAM, 0);
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons (6000);
inet_aton ("172. *. *. *", & servaddr.sin_addr);
connect (sockfd, servaddr, sizeof (servaddr));


These are part of the source

the gcc compile time error prompt is :

Error: argument 2 ( belonging to 'connect') type is not compatible

=====================================

Neighborhoods great God, where the problems I novice, knees and begged , Online ~
------ Solution -------------------- ------------------------
connect (sockfd, servaddr, sizeof (servaddr));
changed
connect (sockfd, (struct sockaddr *) & servaddr, sizeof (servaddr));
------ Solution --------------- -----------------------------
connect (sockfd, (struct sockaddr *) & servaddr, sizeof (struct ; sockaddr));

------ Solution ------------------------------------ --------
connect (sockfd, (struct sockaddr *) & servaddr, sizeof (servaddr));
and connect (sockfd, (struct sockaddr *) & servaddr, sizeof (struct sockaddr));
should all be OK , there servaddr assigned a start , usually with bzero (& servaddr, sizeof (servaddr)) initialize it to 0
------ For reference only --- ------------------------------------

------ For reference only ---------- -----------------------------
Thank you Daniel ! !
get !

没有评论:

发表评论