gpt4 book ai didi

c - 为什么添加 send() 调用会使之前的 send() 调用失败?

转载 作者:行者123 更新时间:2023-11-30 14:44:55 28 4
gpt4 key购买 nike

代码在底部。

第 207 行的 send() 命令本身可以正常工作。但是,当我在第 218 行添加 send() 命令时,第一个命令失败 - 给出错误“地址错误”。我已经确认第二个 send() 命令实际上并未执行。

我完全迷失在这里......

The confusing code in question

最佳答案

看起来您通过使用 BUFFER_SIZE 作为发送量来创建未定义的行为,因为这不太可能是两个字符串的长度。添加第二个 send() 调用可能会更改字符串的内存布局,从而导致出现错误。

应该是:

send(newsock_fd, "No such command in history", sizeof "No such command in history", 0);

如果您不想发送尾随空字节,请从 sizeof 中减去 1。

关于c - 为什么添加 send() 调用会使之前的 send() 调用失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53346543/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com