本文整理汇总了C++中WiFly::readBytesUntil方法的典型用法代码示例。如果您正苦于以下问题:C++ WiFly::readBytesUntil方法的具体用法?C++ WiFly::readBytesUntil怎么用?C++ WiFly::readBytesUntil使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WiFly
的用法示例。
在下文中一共展示了WiFly::readBytesUntil方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: readResponseHeaders
void readResponseHeaders (int *status_code, int *content_len) {
boolean line_start = true;
char toss[1], buf[64];
int len;
*content_len = *status_code = 0;
// HTTP/1.1 xxx
if (wifly.readBytes(buf, 9) == 0) {
return;
}
if (wifly.readBytes(buf, 3) == 0) {
return;
}
buf[3] = '\0';
*status_code = strtol(buf, NULL, 10);
if (wifly.readBytesUntil('\n', buf, sizeof(buf)) == 0) {
return;
}
while (true) {
// Read first character of line.
if (wifly.readBytes(buf, 1) == 0) {
return;
}
char ch = buf[0];
if (line_start) {
// Beginning content.
if (ch == '\r') {
// read ...\n\r\n
if (wifly.readBytes(buf, 1) == 0) {
return;
}
break;
}
}
// Read header name.
len = wifly.readBytesUntil(':', &buf[1], sizeof(buf) - 2);
if (len == 0) {
return;
}
buf[len + 1] = '\0';
// space
if (wifly.readBytes(toss, 1) == 0) {
return;
}
if (strncmp(buf, "Content-Length", len) == 0) {
len = wifly.readBytesUntil('\n', buf, sizeof(buf));
if (len == 0) {
return;
}
buf[len] = '\0';
*content_len = atoi(buf);
} else {
if (wifly.readBytesUntil('\n', buf, sizeof(buf)) == 0) {
return;
}
}
}
}