PQflush
功能描述
尝试将任何排队的输出数据刷新到服务器。
原型
int PQflush(PGconn * conn);
参数
关键字 |
参数说明 |
---|---|
conn |
指向包含连接信息的对象指针。 |
返回值
int:如果成功(或者如果发送队列为空),则返回0;如果由于某种原因失败,则返回-1;如果发送队列中的所有数据都发送失败,则返回1。(此情况只有在连接为非阻塞时才能发生),失败原因存到conn->error_message中。
注意事项
在非阻塞连接上发送任何命令或数据之后,调用PQflush。如果返回1,则等待套接字变为读或写就绪。如果为写就绪状态,则再次调用PQflush。如果已经读到,调用PQconsumeInput,然后再次调用PQflush。重复,直到PQflush返回0。(必要检查读就绪并使用PQconsumeInput耗尽输入,因为服务器可能会阻止尝试向客户端发送数据(例如NOTICE消息),并且在客户端读取它的数据之前不会读取客户端的数据。)一旦PQflush返回0,等待套接字准备好,然后按照上面描述读取响应。