我正在用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);
}
答案 0 :(得分:0)
问题是connfd没有初始化。