00001 #include "global.h" 00002 00003 #ifdef SERVER 00004 00005 err_t server_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *pbuf, err_t err) 00006 { 00007 err_t ret_code = ERR_OK; 00008 int server_close = *(int *)arg; 00009 00010 if(ERR_OK == err) { 00011 if(pbuf != NULL) { 00012 print("Donnees recues par le serveur : 0x"); 00013 putnum(pbuf->tot_len); 00014 print("\n\r"); 00015 00016 tcp_recved(pcb, pbuf->tot_len); 00017 00018 (void) tcp_write(pcb, pbuf->payload, pbuf->len, 1); 00019 tcp_sent(pcb, server_sent); 00020 00021 pbuf_free(pbuf); 00022 00023 if(1 == server_close) 00024 ret_code = tcp_close(pcb); 00025 } 00026 } else { 00027 print("server_recv(): echec\n\r"); 00028 ret_code = err; 00029 } 00030 00031 return ret_code; 00032 } 00033 00034 #endif //SERVER