gpt4 book ai didi

c++ - 套接字的异常服务器行为

转载 作者:行者123 更新时间:2023-11-28 03:28:10 24 4
gpt4 key购买 nike

在编写我的服务器代码时,我有这一行:

newsockfd =  accept(sockfd, (struct sockaddr *)&cli_addr, &clilen);

当我运行程序时,我没有得到任何错误,但程序只是卡住,我在 main() 的第一行放置了一个打印语句(所以它应该在任何运行之前运行)但是 print 语句永远不会被执行。

这行代码肯定是问题所在,因为一旦我将其注释掉,我的打印语句就可以工作了。

是什么导致了这种奇怪的行为?
(我不允许发布作业代码,所以很遗憾我无法发布所有代码)

最佳答案

因为这显然是答案,所以我将其写在这里:如果您的 printf 格式字符串不以“\n”结尾,那么它们将被缓冲,直到你打印一个换行符或你的程序退出。 (我简化了一点。)由于您的 accept 调用在输出被缓冲后停止了您的程序,因此即使 printf 调用正在运行,您也看不到输出很好。

关于c++ - 套接字的异常服务器行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372758/

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