- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用标准库 net
模块编写一个简单的 HTTP 请求:
use std::io::prelude::*;
use std::net;
fn main() -> std::io::Result<()> {
let request =
b"GET / HTTP/1.1
Host: localhost:8080
";
let mut response = String::new();
print!("Connecting...");
let mut stream = net::TcpStream::connect("127.0.0.1:8080")
.expect("Cannot connect to server");
println!("Connected!");
print!("Writing...");
stream.write(request)
.expect("Error writing");
println!("Written!");
print!("Reading...");
stream.read_to_string(&mut response)
.expect("Error reading");
println!("Read!");
println!("\nResponse:\n{}", response);
Ok(())
}
我有一个简单的 Express在 localhost:8080
上本地运行的网络服务器。
const express = require('express')
const app = express()
const port = 8080
app.get('/', (req, res) => {
console.time('/')
res.send('ok')
console.timeEnd('/')
})
app.listen(port, () => console.log(`Server on ${port}`))
当我运行程序时,打印 Written!
和 Reading...
之间有一两秒的停顿。为什么在似乎没有任何东西可以暂停执行时会出现暂停?
服务器输出:
/: 5.168ms
Rust 输出:
Connecting...Connected!
Writing...Written! // PAUSES HERE AT EOL!
Reading...Read!
Response:
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 2
ETag: W/"2-eoX0dku9ba8cNUXvu/DyeabcC+s"
Date: Thu, 06 Dec 2018 22:32:47 GMT
Connection: keep-alive
ok
最佳答案
stdout
通常是行缓冲的,这意味着它会将您写入的任何内容存储在缓冲区中,直到它看到换行符。所以在 println!("Read!");
打印换行符之前你什么都看不到。
如果你想显示之前的内容你需要flush the buffer .
use std::io; // for io::stdout
...
print!("Reading...");
io::stdout().flush()?;
关于rust - 为什么在背靠背的 println 和 print 语句之间有停顿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53660817/
我使用此函数的目标是返回一个整数,该整数代表用户完成的所有习惯。我的数据库结构是习惯的集合,每个习惯都有一个包含其历史的子集合。下面的函数利用习惯列表,并使用习惯ID来获取该习惯的历史记录。我的问题是
我试图捕捉 AVPlayer 无法继续播放的时刻,以防没有更多媒体可用(网络太慢、信号丢失等)。如文档和不同示例中所述,我正在使用 KVO 来检测: item = [[AVPlayerItem all
我正在使用 npm 包 busboy 来解析多部分表单请求和写入流以将发送的文件写入磁盘。 这适用于小文件,但是当我尝试使用更大的文件 (7MB) 时,似乎只有大约 5MB 被写入磁盘,然后似乎事情停
提供一个最小的代码示例将很困难,但我将提供一些 sudo 代码以希望能够理解要点/问题。 TL;DR:我的工作队列启动,被中断,然后永远不会完成导致 CPU 停顿。 我正在为 PCIe 设备创建网
We are facing an issue on which we need some help. 简要说明: We have enabled SMP in Linux 2.
因此,我已准备好将更新上传到我的其中一个应用程序。一切都正确签名并且验证通过。然而,当尝试将 bundle 上传到 iTunes Store 时,它只是停在(在 XCode Organizer 中
我有一个在 Atmel AT91SAM9260EK 板上运行的嵌入式 Linux 系统,在该板上我有两个以实时优先级运行的进程。管理器进程使用 POSIX 消息队列定期“ping”工作进程以检查工作进
当我尝试运行命令mvn archetype:generate时,它在尝试下载maven-assemble-plugin-2.2-beta-5.jar时停止 无论我取消批处理多少次或关闭cmd并重新启动
我有一个页面正在循环播放 HTML5 视频。当您向下滚动页面时,jQuery 会向 nav 元素添加一个类。然后 CSS 将过渡应用到 th 的 left 属性。在 Firefox 中,它运行良好,但
我是一名优秀的程序员,十分优秀!