我正在学习 GTK 库。现在,我正在尝试使用 GSocketClient。我正在连接到远程登录服务器以读取一些数据。这段代码
...
GInputStream* istream = g_io_stream_get_input_stream(G_IO_STREAM(scon));
GOutputStream* ostream = g_io_stream_get_output_stream(G_IO_STREAM(scon));
gsize dlen = 0;
gchar buffer[1024];
GError* error = NULL;
while (g_input_stream_read_all(istream, buffer, 1024, &dlen, NULL, &error)) {
for (int i = 0; i < dlen; i++) {
g_print("%c", buffer[i]);
}
if (dlen < 1024) {
break;
}
}
if (error != NULL) {
....
获取第一个块(1024 字节),然后阻塞直到连接中断。我做错了什么?谢谢 :)