QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 573|回复: 0

一个linux下的udp编程问题!!!

[复制链接]
发表于 2004-2-6 12:13:33 | 显示全部楼层 |阅读模式
我在用udp协议的接收函数recvfrom()时,出现了问题:
int RawSock::receive(void *buf,int buflen,struct sockaddr *from,int *len)
{
        while(1)
        {
             int length = recvfrom(sock,buf,buflen,0,from,len); //line 133
        }
}
我编译时,出现:
[root@localhost Ping]# g++ ping.c -o ping
ping.c: In member function `int RawSock::receive(void*, int, sockaddr*, int*)'
:
ping.c:133: invalid conversion from `int*' to `socklen_t*'
然后,我把133行该为:
       int length = recvfrom(sock,buf,buflen,0,from,(socklen_t *)(sizeof(struc
t sockaddr)));
这时编译没有问题了,但是程序运行时候,出现接收Receive()错误!
请高手帮忙,我是错在那里拉?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-9 01:45 , Processed in 0.037331 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表