读书人

linux系统容易socket客户端编译时

发布时间: 2013-09-05 16:02:07 作者: rapoo

linux系统,简单socket客户端,编译时connect函数参数出错,求教!
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));


以上是部分源码

在gcc编译的时候报错提示是:

错误:实参 2(属于 ‘connect’)类型不兼容

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

求教大神,哪里出现问题,本人新手,跪求,在线等~
[解决办法]
connect(sockfd,servaddr,sizeof(servaddr));
改为
connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr));
[解决办法]
connect(sockfd,(struct sockaddr *)&servaddr,sizeof(struct sockaddr));

[解决办法]
connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr));
和connect(sockfd,(struct sockaddr *)&servaddr,sizeof(struct sockaddr));
应该都行,还有servaddr赋值一开始,一般用bzero(&servaddr, sizeof(servaddr))将它初始化为0

读书人网 >UNIXLINUX

热点推荐