Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法通过lwIP原始TCP连接接收对HTTP请求的多个响应_C_Http_Tcp_Request_Lwip - Fatal编程技术网

无法通过lwIP原始TCP连接接收对HTTP请求的多个响应

无法通过lwIP原始TCP连接接收对HTTP请求的多个响应,c,http,tcp,request,lwip,C,Http,Tcp,Request,Lwip,当我尝试将数据排队发送到服务器时,我无法接收对多个HTTP请求的响应 我们能够建立到服务器的连接,并在使用tcp_write函数建立到服务器的连接后,立即在connected_回调函数中发出HTTP请求。但是,如果我尝试使用以下语法生成两个或更多HTTP重新请求: err_t connected_callback(void *arg, struct tcp_pcb *tpcb, err_t err) { xil_printf("Connected to JUPITER server\n\r");

当我尝试将数据排队发送到服务器时,我无法接收对多个HTTP请求的响应

我们能够建立到服务器的连接,并在使用tcp_write函数建立到服务器的连接后,立即在connected_回调函数中发出HTTP请求。但是,如果我尝试使用以下语法生成两个或更多HTTP重新请求:

err_t connected_callback(void *arg, struct tcp_pcb *tpcb, err_t err) {
xil_printf("Connected to JUPITER server\n\r");

LWIP_UNUSED_ARG(arg);

/* set callback values & functions */
tcp_sent(tpcb, sent_callback);
tcp_recv(tpcb, recv_callback);
if (err == ERR_OK) {
    char* request = "GET /circuits.json HTTP/1.1\r\n"
        "Host: jupiter.info.polymtl.ca\r\n\r\n";
    (void) tcp_write(tpcb, request, 100, 1);

    request = "GET /livrable1/simulation.dee HTTP/1.1\r\n"
        "Host: jupiter.info.polymtl.ca\r\n\r\n";
    (void) tcp_write(tpcb, request, 100, 1);


    tcp_output(tpcb);

    xil_printf("tcp_write \n");


} else {
    xil_printf("Unable to connect to server");
}

return err;}
我设法将所有数据发送到服务器,但从未收到第二个HTTP请求的任何数据。我设法将第一个请求的有效负载打印到JSON文件中,但从未设法为.dee文件接收任何内容。是否有任何特定的指令将HTTP请求与lwIP一起排队,或者我遗漏了什么

如果您需要更多的代码来准确分析我的问题,请尽管说


谢谢

我看到的问题是,在请求头语句的末尾有双\r\n组合


您只需要在标题的末尾\r\n\r\n。现在,你有两倍的时间。从第一次写入中删除。

您的主要问题可能是如何接收响应。但这里没有显示此代码。除此之外,服务器可能在处理第一个请求后关闭。如果使用HTTP管道,您必须意识到这一点,然后重试丢失的请求。