繁体   English   中英

在Linux上永久读取系统调用

[英]Read system call taking forever on Linux

我正在用C ++编写一个TCP服务器应用程序。

我正在尝试一次从套接字读取一行字符,但read()系统调用再也不会返回。

string buffered_reader::read_line() {
    string str;
    int i = 0;
    char ch;

    do {
        int len = conn.read_from_conn((void*)&ch, 1);
        if (len == -1)
            throw string("Error reading from connection!");

        str += ch;
    } while (ch != '\n');

    return str;
}

这是read_from_conn()函数

int connectionplusplus::read_from_conn(void *buffer, int buffer_len) {
   return read(this->connfd, buffer, buffer_len);
}

问题是connfd尚未初始化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM