【发布时间】:2012-01-31 17:35:33
【问题描述】:
我正在使用 fread() 和 fwrite() 读写套接字。我相信这些功能用于缓冲输入和输出。有什么方法可以让我在使用这些功能的同时禁用缓冲?
编辑:
我正在构建一个远程桌面应用程序,远程客户端似乎“落后于服务器”,我不知道可能是什么原因......我认为这可能是因为缓冲读取和写..但使用 setvbuf 不起作用。
“滞后”是指远程桌面客户端在服务器之后运行几秒钟。服务器在特定时刻所做的事情会在大约 15-20 秒的延迟后反映在客户端上。
另外,我不想不使用-fread(),因为它是现有代码的一部分。我不想修改它。我最终可以使用 write() 和 read(),但我想避免它。
【问题讨论】:
-
真的,如果您要投反对票,我们将不胜感激
-
我也不理解反对票。 +1
-
我过去也遇到过同样的问题,但没想到要禁用它..!!所以+1
-
请注意,您也可以在编写某些内容(或一批内容)后简单地调用 fflush() 以将缓冲区传输到套接字。
-
@nos 我一定会尝试一下,看看它是否能解决我的问题。