首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >循环中匹配臂中的变量从何而来?

循环中匹配臂中的变量从何而来?
EN

Stack Overflow用户
提问于 2019-06-06 02:04:56
回答 1查看 97关注 0票数 -6

我正在尝试使用this as a starting point在Rust中实现一个超文本传输协议客户端。我是由rust-lang.org网站通过他们在TcpStream页面上的一个rust- by -example建议发送到这个链接的。我正在研究如何从TcpStream中读取数据。我试着遵循下面的代码:

代码语言:javascript
复制
fn handle_client(mut stream: TcpStream) {
    // read 20 bytes at a time from stream echoing back to stream
    loop {
        let mut read = [0; 1028];
        match stream.read(&mut read) {
            Ok(n) => {
                if n == 0 { 
                    // connection was closed
                    break;
                }
                stream.write(&read[0..n]).unwrap();
            }
            Err(err) => {
                panic!(err);
            }
        }
    }
}

n变量从何而来?它到底是什么?作者说它一次读取20个字节;这是从哪里来的?

我还没有真正尝试过任何东西,因为我想在做之前先了解一下。

EN

回答 1

Stack Overflow用户

发布于 2019-06-06 02:23:14

弄清楚了,这就是发生的事情:

match stream.read(&mut read) {

这一行告诉软件将stream.read(&mut read)传递给Ok(n),因为stream.read返回读取的字节数。我仍然不确定为什么他们指定每次读取20个字节。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56465813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档