在Linux上读取系统调用

时间:2016-05-21 19:49:02

标签: c++ linux sockets tcp

我正在用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);
}

1 个答案:

答案 0 :(得分:0)

问题是connfd没有初始化。