关于socket编程错误

来源:百度知道 编辑:UC知道 时间:2024/06/24 19:25:26
在linux下,用udp编程sendto返回-1,然后查看是0号错误,可是linux下的erron.h只从1号错误开始,没有0号错误的注释啊,请求高手解释,感谢!
我就是用这个语句得出的,没有别的函数干扰的
sendto(.....)
{
fprintf(stderr,"sendto error!\n");
printf("the error is %d!",errno);
exit(1);
}

是这样的,影响errno不止只有sendto一个函数,可能是你在sendto函数之后的某个时候又将errno改了回去,所有要想抓住errno,这样:
sendto(XXXXXXXXXXXXXXXXXX);
int errornum = errno;
printf("%d\n". errornum);

0表示成功,没有出现错误啊,你的sendto要么没有错误,要么你的errno被其他的进程改了。

就这一小段看不出来什么,把程序再贴多点

直接perror("sendto");
紧跟在sendto的后面,这样可以直接看到错误信息。希望能成功