server_recv.c
Aller à la documentation de ce fichier.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