我正在尝试扩展使用流式读取器/写入器(代码)的python asyncio HTTP服务器示例。如果我理解正确,示例处理程序将从读取器读取100个字节,并将其通过写入器回显给客户端。我正在尝试读取100个字节以上的内容...读取直到没有更多内容可读取为止。
我尝试让read()函数尽可能多地读取,
data = yield from reader.read()
Run Code Online (Sandbox Code Playgroud)
但这似乎永远无法实现。因此,我尝试读取块,直到达到EOF,
while not reader.at_eof():
data += yield from reader.read(100)
Run Code Online (Sandbox Code Playgroud)
尽管这会检索更多数据,但似乎在读取调用时阻塞,而不是退出while循环。
如何使用流阅读器从客户端获取整个消息?
可能重复:
为什么我的返回类型无意义?
嗨,我对特定的const转换感到困惑.我有类似的东西
// Returns a pointer that cannot be modified,
// although the value it points to can be modified.
double* const foo()
{
static double bar = 3.14;
return &bar;
}
int main()
{
double* const x = foo(); // fine
const double* y = foo(); // eh?!
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我在MSVS 2008(Express)上编译它时没有错误,但在我看来应该有.x和y背后的含义是完全不同的,所以似乎不应该有这种隐式转换.这是编译器的问题(不太可能),或者我对这里涉及的常量的理解(很可能).