-1
while ((c = accept()> 0){
    // Do whatever a web server does.
    printf("got connected\n");





    recv_buf[i]='\0';

        printf("%s\n" , recv_buf);
    printf("input received");
 }

这个while循环接收消息并打印消息但没有打印“输入接收”行,为什么会这样,我该如何解决?

4

1 回答 1

0

我猜你没有多次看到打印出来的消息。“收到的输入”很可能仍缓冲在标准输出中。您应该调用fflush(stdout);或更简单,只需始终使用 stderr 进行调试,因为默认情况下它是无缓冲的。

如果您看到打印出不止一条消息而没有看到“收到输入”,那么问题会更加隐蔽,但这似乎不太可能。

于 2013-09-14T01:18:57.873 回答