WSASend &&WSARecv

OhFish 2008-10-03 10:57:00
WSASend和WSARecv 只返回0或者SOCKET_ERROR.
那为什么不把它们的返回类型定义为BOOL 而是int?
...全文
87 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OhFish 2008-10-03
  • 打赏
  • 举报
回复
返回定义成BOOL.TRUE成功,FALSE失败啊。如果FALSE了,就调用WSAGetLastError来获得错误代码,这样多明了啊。
其实我就是想知道,它之所以被定义成int 型,是不是除了0和SOCKET_ERROR外,还可能返回别的值?
yayafu 2008-10-03
  • 打赏
  • 举报
回复
那什么表示成功呢,返回SOCKET_ERROR表示成功吗?函数就这样规定的,没意义
jingtan 2008-10-03
  • 打赏
  • 举报
回复
应该是兼容问题吧. winsock库里面的send(),recv()之类的函数返回值都是int. 而这些函数又需要和其他操作系统的socket库兼容
binsir543 2008-10-03
  • 打赏
  • 举报
回复
方便扩展吧,SOCKET_ERROR为非零值,以后还可以细分为不同的error的
adriano119 2008-10-03
  • 打赏
  • 举报
回复
那样更容易判断吧
如果是FALSE,光看错误,不容易看出是哪里错了
而如果是SOCKET_ERROR,更容易让人理解,比较直观吧
其实本质上都是整数
把布尔型定义为TURE,FLASE,而不是直接0,1,不就是为了让人更容易理解,更直观吗
OhFish 2008-10-03
  • 打赏
  • 举报
回复
大家来发表一下意见

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧