static void http_thread(void *arg) { struct netconn *conn; static char httpreq[] = "GET /default.asp?a=10 HTTP/1.0\r\n\r\n"; struct netbuf *buf; struct ip_addr addr; char *data; cyg_uint16 len, i; while(1){ /* Create a new connection identifier. */ conn = netconn_new(NETCONN_TCP); IP4_ADDR(&addr,132,121,52,83); //static IP Address from local IIS /* Tell connection to remote host. */ int res = netconn_connect(conn, &addr, 80); printf("valore di ritorno connessione: %d\n",res); netconn_write(conn, httpreq, sizeof(httpreq), NETCONN_NOCOPY); diag_printf("%d",conn->type); while((buf = netconn_recv(conn)) != NULL){ do { diag_printf("connesso netbuf\n"); netbuf_data(buf,(void *)&data, &len); for(i = 0; i < len; i++){ diag_printf("%c",data[i]); } } while(netbuf_next(buf) >= 0); netbuf_delete(buf); cyg_thread_delay(10); } netconn_close(conn); diag_printf("Disconnected\n"); netconn_delete(conn); } } void tmain(cyg_addrword_t p) { int err ; lwip_init(); int val; diag_printf("post_lwipinit\n"); int timestamp = cyg_current_time() + 100; val=lwip_ppp_start(M_PPP_USER,M_PPP_PWD); if(!val){ while(timestamp > cyg_current_time() ){ if(lwip_ppp_status() == 1){ diag_printf("IP-Address: %u.%u.%u.%u \n", ip4_addr1(ppp_ip_addr), ip4_addr2(ppp_ip_addr), ip4_addr3(ppp_ip_addr), ip4_addr4(ppp_ip_addr)); diag_printf("start http client\r\n"); sys_thread_new(http_thread, (void*)"http",7); while(1) cyg_thread_delay(1000); } } } }