【发布时间】:2011-09-11 21:35:20
【问题描述】:
如何让服务器能够使用 printf 或 fprintf 而不是使用 write 系统调用向客户端发送消息?
我的服务器已经制作完成并且正在运行,通过 write 发送消息,但我更愿意使用 fprintf。
例如这不起作用:
newsockfd = accept(sockfd,(struct sockaddr *) &cli_addr, &clilen);
FILE *fp = fdopen(newsockfd, "w");
fprintf(fp, "test");
fflush(fp);
我知道有一个新问题。当我只有上面的代码时,它可以工作并且我可以在我的浏览器中看到它,但是如果我添加 read(newsockfd,buffer,255) 之后,我将不再看到发布在我的客户端中的消息。
【问题讨论】:
-
我认为您只是缺少
fflush(fp);... -
感谢先生,您很聪明。