繁体   English   中英

套接字上的send()函数对于永不/未连接的套接字不会返回-1

[英]send() function on socket does not return -1 for never/unconnected socket

我在send()函数调用中遇到奇怪的行为,其中socketfd为0,p为“ test \\ n”,长度为5,标志为0:

  size_t n = 0;

  n = send(socketfd, p, length, flags);

发送似乎返回n中的值18446744073709551615

功能文档说它在错误时返回-1。

该代码在Mac OS X 10.7 Lion上编译。 有什么想法吗?

size_t是无符号类型,不能包含负值。 实际上,如果您查看send的联机帮助页,则其返回类型为ssize_t ,这是签名版本,并且可以包含负值。

尝试更改类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM