c - UNIX C 发送()错误号 14
问题描述
我有这个代码:
void caller()
{
char buffer[20][20];
int sd;
...
send(sd, buffer[7], 5, 0);
}
现在我有这个代码:
void funct(int sd, char **buffer)
{
send(sd, buffer[7], 5, 0);
}
void caller()
{
char buffer[20][20];
int sd;
...
funct(sd, buffer);
}
为了简化假设,而不是......我有一个套接字 UDP 的初始化和与服务器的连接,以使用 send 而不是 sendto。我不明白为什么第二个代码在发送错误时生成并且 errno 设置为值 14,但第一个代码完美地工作。
解决方案
推荐阅读
- sql-server - 数据库恢复失败
- javascript - 如何查找元素、切换状态、等待网络响应和检查类已更改
- c# - 在浏览器中以编程方式为经过身份验证的 AD 用户读取/查看 Blob(PDF 文件)(授予容器级别的基于角色的访问权限)
- swift - 我尝试使用 sourcekit-lsp 设置快速编辑 vim,但 vim-lsp 一直说未安装 sourcekit-lsp
- scala - 如何使用 Circe 删除对象列表中的空值
- centos7 - RPM 构建错误:宏扩展中的递归级别太多。这可能是由递归宏声明引起的
- c# - 优化多重比较条件
- r - 未捕获的类型错误:运行 Shiny 应用程序时无法读取未定义的属性“替换”
- reactjs - React 中带有 useEffect 的异步上下文
- r - 在 R 中查看最佳 dtw 对齐