社区
Linux/Unix社区
帖子详情
sendto,总是返回-1,查看errno说是EPERM
hellosea99999
2012-08-17 05:44:19
linux下编写一个小程序,调用sendto,总是返回-1,查看errno说是EPERM,Operation not permitted,怎么回事呢?
...全文
1019
7
打赏
收藏
sendto,总是返回-1,查看errno说是EPERM
linux下编写一个小程序,调用sendto,总是返回-1,查看errno说是EPERM,Operation not permitted,怎么回事呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lingxaiyidu
2012-08-30
打赏
举报
回复
创建表时报错 errno:-1
ERROR 1005 (HY000): Can't create table 'tb_company' (errno: -1)
sinuos
2012-08-22
打赏
举报
回复
添个代码出来瞧瞧
mymtom
2012-08-18
打赏
举报
回复
那你的socket是不是TCP的的吧
sendto应该是UDP的
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
SOCK_STREAM是TCP的。
wqkjj
2012-08-18
打赏
举报
回复
你确定是sendto后的errno?
看了几个平台的sendto帮助都没有这个错误
我怀疑你获得的sendto错误代码有误,代码段贴出来瞧瞧?
hellosea99999
2012-08-17
打赏
举报
回复
不是广播,也没有用connect,不知道是不是防火墙的问题。
mymtom
2012-08-17
打赏
举报
回复
地址是广播地址?
或者是已经调用了connect?
linux下错误的捕获:
errno
、strerror和perror的使用
经常在调用linux 系统api 的时候会出现一些错误,比方
说
使用open() write() creat()之类的函数有些时候会
返回
-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用
errno
这个全局变量就相当有用了。 在程序代码中包含 #include ,然后每次程序调用失败的时候,系统会自动用用错误代码填充
errno
这个全局变量,这样你只需要读
errno
这个全局变量
域套接字
send
to函数的错误码分析与操作系统
send
to函数是在网络编程中常用的函数之一,用于向指定的套接字发送数据。在
send
to函数调用失败时,
errno
会被设置为相应的错误码,我们可以通过对
errno
的值进行判断来确定错误的类型,并进行相应的处理。总结而言,
send
to函数的错误码提供了对发送数据失败的原因进行识别和处理的方法。通过检查
errno
的值,我们可以根据不同的错误码采取相应的处理措施,以优化网络编程中的错误处理逻辑。在成功调用
send
to函数后,不会更改
errno
的值,因此在处理错误时需要及时获取
errno
的值。
Linux
errno
错误对照表
errno
在 中定义,错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的
errno
-base.h 和
errno
.h,分别定义了 1-34 、35-132 的错误定义。 strerror() 函数依据
errno
值
返回
错误描述字符串,下面程序打印对照表: [cpp] view plain copy
Linux Socket
Errno
错误代码列表以及常见错误
错误号 错误 可能的原因 EAGAIN Try again 在读数据的时候,没有数据在底层缓冲的时候会遇到,一般的处理是循环进行读操作,异步模式还会等待读事件的发生再读 EWOULDBLOCK Operation would block 在我们的环境中和EAGAIN是一个值, 一般情况下只关心EAGAI
网络编程0x02 connect函数及其
errno
网络编程中的connect函数以及理解
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章